Rumah >hujung hadapan web >tutorial js >new关键字创建对象的4个阶段

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

php是最好的语言
php是最好的语言asal
2018-08-09 16:18:402947semak imbas

题目解析

先看代码

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()创建空对象?

Atas ialah kandungan terperinci new关键字创建对象的4个阶段. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn