创建对象的几种方式
1.通过字面量方式创建:
(1)、var o1 = {name:"john"};
(2)、var o2 = new Object({name:"john"});
2.通过构造函数创建
function M(name){
this.name = name;
}
var o3 = new M("jane");
3. 通过Object.create()
var a = {name:"make"};
var o4 = Object.creact(a);
以上三种创建结果如下
字面量创建对象结果一致。
构造函数:
Object.create(): 创建一个空对象
如图:o1,o2,o3,o4 这4个对象,那么原型对象是怎么区分被哪个构造函数所引用呢?
这个时候就是看constructor 就是构造器。
原型对象中会有个构造器,构造器会默认声明的那个函数。
所有构造函数M的 原型对象的constructor 指向了 M本身
小知识点:
1.凡是通过new 操作的函数, 这个函数就是构造函数,否则就是一个普通函数。
声明函数的时候,js会自动给函数加上一个叫做prototype的属性。 这个属性会初始化一个空对象。这个空对象就是原型对象
eg: function M(){}
var m = new M();
其中M() 就是构造函数
2.