跳轉到內容

JavaScript/繼承

來自華夏公益教科書,開放的書籍,開放的世界



instanceof運算子

[編輯 | 編輯原始碼]

instanceof運算子確定一個物件是否被例項化為另一個物件的子物件,如果情況屬實,則返回trueinstanceof是一個二元中綴運算子,其左運算元是一個物件,其右運算元是一個物件型別。如果左運算元是右運算元指定的型別,則返回truetrue。它不同於.constructor屬性,因為它“沿著原型鏈向上查詢”。如果物件a是型別b是型別,並且bc的擴充套件,那麼a instanceof btruea instanceof c都返回truetrue,而a.constructor === btrue返回.

true

,而

a.constructor === c

function CoinObject() {
 this.value = 0; 
 this.diameter = 1;
}

function Penny() {
 this.value = 1;
}
Penny.prototype = new CoinObject();

function Nickel() {
 this.value = 5;
}
Nickel.prototype = new CoinObject();

false

原型繼承
Clipboard

[編輯 | 編輯原始碼]
物件的原型可用於為物件建立欄位和方法。此原型可用於繼承,方法是將父類的新的例項分配給原型。[1]


function CoinObject() {
 this.value = 0; 
 this.diameter = 1;
}

函式繼承

[編輯 | 編輯原始碼]
  1. 待辦事項



提供基於函式的繼承的推薦方法 - 一個參考是http://www.crockford.com/javascript/inheritance.html
華夏公益教科書