首頁 >web前端 >js教程 >如何實作js中new的功能? js中new的用法

如何實作js中new的功能? js中new的用法

不言
不言原創
2018-08-20 14:45:052777瀏覽

本篇文章帶給大家的內容是關於如何實作js中new的功能? js中new的用法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

要實現new的功能,我們首先要知道new是做什麼的呢?

在js中var a = new A() 後

#1.創建一個空http://www.php.cn/js-tutorial-378179.html物件obj{}

2.將a的this指向obj{}

# 3.將a的_proto_指向A的prototype

4.執行A的建構子

5.回傳obj

程式碼級實作:

function Test (name) {
this.name = name;
this.test = '????';
}
Test.prototype.test2 = function () {
console.log('测试原型链上的方法!');
}
function _new () {
let newObj = {};
let Constructor = Array.prototype.shift.call(arguments);
newObj.__proto__ = Constructor.prototype;
Constructor.apply(newObj,arguments);
return newObj;
}
 
var t = _new(Test,'yz');
t.test2();

相關建議:

##JS核心系列:瞭解 new 的運作機制

js中的new運算子運作過程是怎樣的

以上是如何實作js中new的功能? js中new的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn