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

php是最好的语言
Lepaskan: 2018-08-09 16:18:40
asal
2815 orang telah melayarinya

题目解析

先看代码

var Func=function(){
};
var func=new Func ();
Salin selepas log masuk

new共经过了4几个阶段

1、创建一个空对象
var obj=new Object();
Salin selepas log masuk
2、设置原型链
obj.__proto__= Func.prototype;
Salin selepas log masuk
3、让Func中的this指向obj,并执行Func的函数体。
var result =Func.call(obj);
Salin selepas log masuk

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

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

if (typeof(result) == "object"){  func=result;}else{    func=obj;;}
Salin selepas log masuk
相关推荐:

使用隐藏的new来创建对象

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

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!