JavaScript 原型、原型鏈與原型繼承

原型,原型鏈與原型繼承

用自己的方式理解原型,原型鏈和原型繼承

javascript——原型與原型鏈

JavaScript中的原型與原型鏈

JS重點(diǎn)整理之JS原型鏈徹底搞清楚

基本概念和原型鏈

  1. Prototype(原型對(duì)象)

每個(gè)函數(shù)都有, 指向其原型對(duì)象

  1. _proto_

這是除了null都有的屬性, 指向其原型

  1. constructor

每個(gè)原型都有, 指向構(gòu)造函數(shù)(函數(shù))

原型鏈

實(shí)例和原型

function Person() {}

Person.prototype.name = 'Kevin';

var person = new Person();

person.name = 'Daisy';
console.log(person.name) // Daisy  實(shí)例覆蓋原型

delete person.name;
console.log(person.name) // Kevin

在這個(gè)例子中,我們給實(shí)例對(duì)象 person 添加了 name 屬性,當(dāng)我們打印 person.name 的時(shí)候,結(jié)果自然為 Daisy。但是當(dāng)我們刪除了 person 的 name 屬性時(shí),讀取 person.name,從 person 對(duì)象中找不到 name 屬性就會(huì)從 person 的原型也就是 person._proto_ ,也就是 Person.prototype中查找,幸運(yùn)的是我們找到了 name 屬性,結(jié)果為 Kevin。

如果原型上依然沒(méi)找到,就會(huì)繼續(xù)到原型的原型上去找直到null為止

原型繼承

如果讓原型對(duì)象等于另一個(gè)類型的實(shí)例,此時(shí)的原型對(duì)象將包含一個(gè)指向另一個(gè)原型的指針(proto),另一個(gè)原型也包含著一個(gè)指向另一個(gè)構(gòu)造函數(shù)的指針(constructor)。

function Animal(){  
    this.type = "animal";  
}  
Animal.prototype.getType = function(){  
    return this.type;  
}  
  
function Dog(){  
    this.name = "dog";  
}  
Dog.prototype = new Animal();  //此步驟為繼承 父 中的屬性
  
Dog.prototype.getName = function(){  
    return this.name;  
}  s
  
var xiaohuang = new Dog();
//原型鏈關(guān)系  
xiaohuang.__proto__ === Dog.prototype  
Dog.prototype.__proto__ === Animal.prototype  
Animal.prototype.__proto__ === Object.prototype  
Object.prototype.__proto__ === null 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本期節(jié)目由奔馳哥和大壯以及他的媽媽、浩然以及他的媽媽、舜舜、竹姐、華華姐姐一起參與錄制,請(qǐng)欣賞! 在上一期里奔馳哥...
    那時(shí)靜空閱讀 7,860評(píng)論 0 0
  • 【90天月度檢視】 姓名趙金娜 #基本情況# 姓名:趙芮彤 年齡:12歲 小組:第5組 #第三階段30天目標(biāo)及完成...
    迷茫的猴子?jì)寢?/span>閱讀 294評(píng)論 0 0
  • 對(duì)于校園,那是我們?cè)僖彩煜げ贿^(guò)的學(xué)習(xí)天地了。有人說(shuō):學(xué)習(xí)是一件非常無(wú)聊的事情,更別說(shuō)校園生活的枯燥乏味了??晌艺J(rèn)為...
    怪咖稚閱讀 429評(píng)論 0 4
  • 2019VNL澳門站14人名單】 主攻:朱婷、李盈瑩、劉曉彤、張常寧 副攻:顏妮、袁心玥、楊涵玉、胡銘媛 接應(yīng):龔...
    天下排球閱讀 186評(píng)論 0 0
  • 人生不管是得到什么或是失去什么,把握住佛法的核心內(nèi)容,心會(huì)坦然自得而清凈祥和。執(zhí)著佛法上的修行是需要的,堅(jiān)持應(yīng)有的...
    倦客行閱讀 809評(píng)論 0 8

友情鏈接更多精彩內(nèi)容