20.new操作符具体干了什么
new操作符具体干了什么呢
1.创建一个空对象: 并且this变量引入该对象,同时还继承了函数的原型。
2.属性和方法被加入到 this 引用的对象中。
3.新创建的对象由 this 所引用,并且最后隐式的返回 this 。
Javascript的new关键字主要的作用是继承
new一共经历4个阶段
1、创建一个空对象
var obj = new Object();
2、设置原型链
此时便建立了obj对象的原型链
obj._proto_ = Object.prototype;
3、让Func的this指向obj,并执行Func函数体
Object.call(obj);
4、判断Func的返回值类型
如果是值类型,返回obj;
如果是引用类型,返回这个引用类型的对象。
return typeof result === 'obj'? result : obj;