new操作符具体干了什么呢

2021-03-02 14:32发布

6条回答
人情世故
2021-03-08 15:54

1、创建一个空对象


varobj=new Object();

2、设置原型链


obj.__proto__= Func.prototype;

3、让Func中的this指向obj,并执行Func的函数体。


var result =Func.call(obj);

4、判断Func的返回值类型:


如果是值类型,返回obj。如果是引用类型,就返回这个引用类型的对象。


if (typeof(result) == "object"){

  func=result;

}

else{

    func=obj;;

}




一周热门 更多>