创建对象有几种方法
方式一:字面量和内置构造函数
var obj11 = {name: 'smyh'};
var obj12 = new Object(name: `smyh`); //内置对象(内置的构造函数)
上面的两种写法,效果是一样的。因为,第一种写法,obj11
会指向Object
。
-
第一种写法是:字面量的方式。
-
第二种写法是:内置的构造函数
方式二:通过构造函数
var M = function (name) {
this.name = name;
}
var obj3 = new M('smyhvae');
方法三:Object.create
var p1 = {name:'smyhvae'};
var p2 = Object.create(p1); //拷贝了p1所有的属性和方法
第三种方法,很少有人能说出来。这种方式里,obj3是实例,p是obj3的原型(name是p原型里的属性),构造函数是Objecet
。