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

原型,原型鏈與原型繼承

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

javascript——原型與原型鏈

JavaScript中的原型與原型鏈

JS重點整理之JS原型鏈徹底搞清楚

基本概念和原型鏈

  1. Prototype(原型對象)

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

  1. _proto_

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

  1. constructor

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

原型鏈

實例和原型

function Person() {}

Person.prototype.name = 'Kevin';

var person = new Person();

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

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

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

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

原型繼承

如果讓原型對象等于另一個類型的實例,此時的原型對象將包含一個指向另一個原型的指針(proto),另一個原型也包含著一個指向另一個構(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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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

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