new关键字创建对象的4个阶段

php是最好的语言
php是最好的语言原创
2018-08-09 16:18:402236浏览

题目解析

先看代码

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来创建对象

php中如何使用new StdClass()创建空对象?

以上就是new关键字创建对象的4个阶段的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。