js基礎--原型物件與原型物件鏈
一、原型物件
使用建構函式構造出例項物件的時候,會伴隨著一個原型物件,這個原型物件與建構函式是同時出現的,原型物件的一個重要作用是存放同一個建構函式構造出的不同例項化物件的相同屬性,就是說,我們構造出幾個“人”,他們身高體重不同,但是毛髮顏色相同,這個時候我們就不必在在建構函式裡新增毛髮顏色這一屬性,再逐個新增相同的顏色值,而是可以將這一屬性新增到建構函式的原型物件的屬性裡,這樣我們在構造例項物件的時候就不用設定毛髮顏色,而是通過原型物件來找出毛髮顏色,具體過程如下:
<script>
function Person(name,height,weight,hair_style){
this.name=name;
this.height=height;
this.weight=weight;
this.hair_style=hair_style;
}
Person.prototype.voice="loud";
var person1=new Person( "zs",180,60,"yellow");
console.log(person1)
// var person2=new Person( "ls",190,70,"black");
// console.log(person1);
// console.log(person2);
</script>
可以看到在Person的原型裡有voice這一屬性。
二、原型物件鏈
物件在呼叫方法(或者屬性)的時候,首先會從自己物件的空間當中去找,如果找到就直接用了,如果沒有找到,然後去自己的原型物件空間去找(自己的建構函式的原型物件),如果找到就用,如果沒有找到,然後去自己的原型物件的原型物件空間當中去找(自己的建構函式的原型物件的建構函式的原型物件當中去找),如果找到就用,如果找不到繼續向上,直到找到Object的原型物件為止,找到就用,找不到報錯;我們把這個物件找屬性的過程形象的描述為原型鏈;
如圖
相關文章
- 原型物件與原型鏈原型物件
- JS基礎-函式、物件和原型、原型鏈的關係JS函式物件原型
- 理解js中的原型,原型物件,原型鏈JS原型物件
- JS的物件導向(理解物件,原型,原型鏈,繼承,類)JS物件原型繼承
- JS基礎總結(2)——原型與原型鏈JS原型
- 說說JS中的原型物件和原型鏈JS原型物件
- 【JS基礎】原型物件的那些事(二)JS原型物件
- 【JS基礎】原型物件的那些事(一)JS原型物件
- 淺談JS物件的建立、原型、原型鏈繼承JS物件原型繼承
- JS建構函式,原型鏈,原型物件總結JS函式原型物件
- JS筆記—— 物件 (原型物件)JS筆記物件原型
- 前端筆記——JS基礎(原型&&原型鏈)前端筆記JS原型
- JS的物件原型JS物件原型
- 原型與原型鏈 - 物件與函式關係筆記原型物件函式筆記
- JS 原型與原型鏈JS原型
- 深入理解原型物件和原型鏈原型物件
- JS中的原型物件JS原型物件
- JS中的原型與原型鏈JS原型
- JS原型與原型鏈圖解JS原型圖解
- 理解js的 prototype原型物件JS原型物件
- 好程式設計師前端教程面對物件與原型原型鏈程式設計師前端物件原型
- 深入理解JS原型與原型鏈JS原型
- JS function 是函式也是物件, 淺談原型鏈JSFunction函式物件原型
- 物件、原型鏈、類、繼承【上】物件原型繼承
- 函式物件、物件、原型函式物件原型
- 物件獲取原型物件物件原型
- js裡的物件基本理解(原型)JS物件原型
- JS原型和原型鏈JS原型
- js原型及原型鏈JS原型
- 面試之JS篇 - 原型與原型鏈面試JS原型
- JavaScript 物件 & 原型JavaScript物件原型
- 【Javascript 基礎】原型鏈JavaScript原型
- javascript基礎-原型鏈與繼承JavaScript原型繼承
- 原型與原型鏈原型
- 前端戰五渣學JavaScript——物件導向、原型和原型鏈前端JavaScript物件原型
- JS進階(一)(物件導向、原型)JS物件原型
- 2019 面試準備 - JS 原型與原型鏈面試JS原型
- 【原型鏈汙染】Python與Js原型PythonJS