使用new來呼叫函式,或者說發生構造函式呼叫時,會自動執行下面的操作。
建立(或者說構造)乙個全新的物件
這個新物件會被執行[[prototype]]
連線
這個新物件會繫結到函式呼叫的this
如果函式沒有返回其他物件,那麼new表示式中的函式呼叫會自動返回這個新物件
注意第四點,通過兩個小栗子來鞏固一下。
function
person
(name)
let p =
newperson
('tom');
// 例項化person過程中,person返回什麼(或者p等於什麼)?
// 例項化person過程中,person返回什麼(或者p等於什麼)?
使用new時,會發生什麼?
使用new來呼叫函式,或者說發生構造函式呼叫時,會自動執行下面的操作 建立 或說構造 乙個全新的物件。這個新物件會被執行 prototype 連線。這個新物件會繫結到函式呼叫的this。如果函式沒有返回其他物件,那麼new表示式中的函式呼叫會自動返回這個新物件。如下 function fn var ...
繼承關係下new子類物件,會發生什麼?
假定class student extends person 那麼student s new student 這條語句new子類student物件,到底發生了什麼?由於要用到student類,系統會看一下 類頭 一看不得了,原來sthdent還有個父類person 父類person 類載入 在這一過...
建構函式和析構函式呼叫虛函式會發生什麼
寫這個部落格的原因是因為最近在面試的時候被問過好幾次這個問題,但是卻一直處於一種模稜兩可的狀態,因此今天記錄一下這個問題的乙個理解已經 實驗的現象.都知道虛函式是為了實現多型中的乙個動態繫結過程.而在進入派生類的建構函式之前,會先呼叫基類的建構函式.話不多說,先看 class base base c...