JavaScript new 運算子

admin發表於2018-09-03

使用此運算子呼叫建構函式可以建立一個物件例項。

首先看一段程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function Antzone() {
  this.age = 6;
  this.webName = "螞蟻部落";
}
var antzone = new Antzone();
console.log(antzone.age);

上面通過new運算子呼叫建構函式Antozne可以建立一個物件例項。

那在new呼叫建構函式後,發生了一些什麼呢,下面做一下分析:

(1).建立一個空白物件(new Object())。

(2).拷貝Antzone.prototype中的屬性到這個空物件中(淺拷貝)。

(3).將這個物件通過this關鍵字傳遞到建構函式中並執行建構函式。

(4).將這個物件賦值給變數antzone。

雖然ES2015新增類,但是它只是語法糖,原理也大致如此。


相關文章