new 操作符做了什么?

new 操作符做了什么?

1.创建一个空对象:
2.将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象)同时新对象还继承了函数的原型。
3.执行构造函数中的代码(为这个新对象添加属性)。
4.返回新对象

var o=new Object()的伪代码

var o = new Object();//创建一个空对象。
o._proto_ = Foo.prototype;//设置原型链,让这个空对象的__proto__指向函数的原型prototype。
Foo.call(o);//让Foo的this指向o,并执行Foo函数体。
return typeof result === 'obj'? result : a;//判断Func的返回值类型:如果是值类型,返回创建的a对象;如果是引用类型,返回这个引用类型的对象。

猜你喜欢

转载自www.cnblogs.com/superlizhao/p/12365280.html