题目解析
先看代码
var Func=function(){ }; var func=new Func ();
登录后复制
new共经过了4几个阶段
1、创建一个空对象
var obj=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;;}
登录后复制
相关推荐:
以上就是new关键字创建对象的4个阶段的详细内容,更多请关注Work网其它相关文章!