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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 繼承中的建構函式繼承函式
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- Java建構函式的繼承問題Java函式繼承
- 建構函式、原型、原型鏈、繼承函式原型繼承
- js 使用建構函式和原型鏈實現繼承操作JS函式原型繼承
- 建構函式的prototype與各種繼承函式繼承
- [JavaScript]原型、原型鏈、建構函式與繼承JavaScript原型函式繼承
- JavaScript物件導向之二(建構函式繼承)JavaScript物件函式繼承
- es5建構函式,es6類和類的繼承函式繼承
- JavaScript中的函式繼承JavaScript函式繼承
- 區分:派生類指定基類建構函式、繼承構造、委託構造函式繼承
- JS 建構函式與類JS函式
- 一篇文章理解JS繼承——原型鏈/建構函式/組合/原型式/寄生式/寄生組合/Class extendsJS繼承原型函式
- 在建構函式內使用call()或apply()實現繼承函式APP繼承
- JS中的繼承JS繼承
- 類的建構函式和解構函式函式
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- js之繼承JS繼承
- js繼承方式JS繼承
- 聊聊JS中的繼承JS繼承
- 圖解js的繼承圖解JS繼承
- js的13種繼承JS繼承
- 淺談JS的繼承JS繼承
- JS中的繼承(下)JS繼承
- JS中的繼承(上)JS繼承
- JS進階(1) —— 人人都能懂的建構函式JS函式
- 建構函式與解構函式函式
- js內建函式JS函式
- ## 建構函式函式
- js繼承圖解JS繼承圖解
- JS原型鏈繼承JS原型繼承
- JS 相容、繼承、bind、thisJS繼承
- js 繼承小結JS繼承
- JS 繼承的正確操作JS繼承
- JS中繼承的實現JS中繼繼承
- JS的原型鏈和繼承JS原型繼承
- C++ 建構函式和解構函式C++函式
- JS建構函式,原型鏈,原型物件總結JS函式原型物件