js建構函式的繼承
function parent(x) {
this.x = x;
}
parent.prototype.name = 'dili';
parent.prototype.age =40;
function child(x) {
parent.call(this, x); //繼承屬性
}
child.prototype.age = 23
// child原型物件指向parent的例項化物件
child.prototype = Object.create(parent.prototype);
// child原型建構函式指向child
child.prototype.constructor = child;
const fn = new child('x');
console.log(fn.name, fn.age) // 'dili',23
使用以上方法可以實現多層函式的繼承,但並不影響建構函式的指向。
fn.__proto__ === child.prototype;
//child.__proto__ === Function.prototype
child.prototype.__proto__ === parent.prototype
//parent.__proto__ === Function.prototype
parent.prototype.__proto__ == Object.prototype
//Function.__proto__ === Function.prototype
//Function.prototype.__protope === Object.prototype
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2804314/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 繼承中的建構函式繼承函式
- Java建構函式的繼承Java函式繼承
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- C#建構函式繼承C#函式繼承
- Java建構函式的繼承問題Java函式繼承
- 建構函式的繼承問題 (轉)函式繼承
- 建構函式、原型、原型鏈、繼承函式原型繼承
- 建構函式的prototype與各種繼承函式繼承
- js 使用建構函式和原型鏈實現繼承操作JS函式原型繼承
- javascript建構函式的繼承簡單介紹JavaScript函式繼承
- [JavaScript]原型、原型鏈、建構函式與繼承JavaScript原型函式繼承
- 子類繼承父類的建構函式(方法)嗎?繼承函式
- JavaScript物件導向之二(建構函式繼承)JavaScript物件函式繼承
- javascript非建構函式繼承簡單介紹JavaScript函式繼承
- javascript物件導向程式設計的建構函式的繼承JavaScript物件程式設計函式繼承
- 關於C#中建構函式的繼承的問題C#函式繼承
- Javascript物件導向程式設計(二):建構函式的繼承JavaScript物件程式設計函式繼承
- javascript物件導向程式設計的非建構函式的繼承JavaScript物件程式設計函式繼承
- 繼承與派生,多繼承,函式過載,建構函式呼叫順序 靜態多型和動態多型繼承函式多型
- JS原型繼承和類式繼承JS原型繼承
- es5建構函式,es6類和類的繼承函式繼承
- Javascript物件導向程式設計(三):非建構函式的繼承JavaScript物件程式設計函式繼承
- JavaScript中的函式繼承JavaScript函式繼承
- 在 C++ 中子類繼承和呼叫父類的建構函式方法C++繼承函式
- 在C++中子類繼承和呼叫父類的建構函式方法C++繼承函式
- c# abstract抽象類與繼承類子類的建構函式_baseC#抽象繼承函式
- c# 繼承派生類的預設建構函式的初始化次序C#繼承函式
- 區分:派生類指定基類建構函式、繼承構造、委託構造函式繼承
- js hasOwnProperty()函式判斷屬性是非繼承JS函式繼承
- JS 建構函式與類JS函式
- 一篇文章理解JS繼承——原型鏈/建構函式/組合/原型式/寄生式/寄生組合/Class extendsJS繼承原型函式
- 《從零開始學Swift》學習筆記(Day43)——建構函式繼承Swift筆記函式繼承
- js繼承JS繼承
- 在建構函式內使用call()或apply()實現繼承函式APP繼承
- JS中的繼承JS繼承
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- 類的建構函式和解構函式函式
- EXTJS 建構函式帶引數JS函式