JS面向对象之对象的创建方式

面向对象之对象的创建方式

1.new操作符

var person = new Object();
person.name = "缘灭";
person.age = 18;

2.对象字面量形式(推荐)

var person = {
    name : "缘灭",//如果健名中包含空格,连接符-或者关键字保留字,则需要加上引号
    age : 18
};

3.构造函数方式

function Person(name, age, job) {  //大写
	//var this = {} 隐式的创建一个空对象
    this.name = name;//this指向的是实例对象person1
    this.age = age;
    this.sayName = function () {
        alert(this.name);
    };
    //return this 最后再把这个对象返回出去
}
var person1 = new Person("缘灭", 18);//实例化,person1为构造函数Person的实例对象。
console.log(person1.name)//缘灭

构造函数和普通函数的区别:
1.this指向:构造函数this指向的是实例对象,普通函数this指向的是函数的调用者。
2.调用方式:构造函数需要用new关键字调用,普通函数直接调用就行
3.命名:构造函数首字母需要大写,普通函数一般采用驼峰式命名

4.工厂模式

function createPerson(name, age, job){
    var obj = new Object();
    obj.name = name;
    obj.age = age;
    obj.sayName = function(){
        alert(this.name);
    };
    return obj;
}
var person1 = createPerson("Nicholas", 29);
person1.sayName(); //"Nicholas"

猜你喜欢

转载自blog.csdn.net/weixin_36302575/article/details/85163901