原型的作用就是實現屬性和方法的共享
js規定每乙個函式都有乙個proto屬性,指向另乙個物件(自身的原型),
函式物件除了proto之外還有prototype屬性,當函式作為建構函式建立例項時,該屬性就被作為例項物件的原型
當乙個物件呼叫自身不存在的屬性和方法時就會去自己的proto的前輩prototype物件上去找,如果沒找到就會去prototype的
前輩上去找 直到找到或者返回undefiend 這個鏈式查詢的過程就是原型鏈
每乙個物件都有乙個他自身原型物件的連線 擁有相同原型的多個物件,他們就是通過這種查詢方式體現出來的
在上面的查詢過程中查詢到了最頂層的原型物件 這個物件機試object.prototype這個物件中儲存了最常用的一些方法
比如說tostring valueof等 所以我們才能在任何物件中呼叫這些方法
隱式原型 (proto):隱式原型的作用是用來構成原型鏈,實現基於原型的繼承
顯式原型(prototype):用來實現基於原型的繼承與屬性的共享
原型與原型鏈
原型有兩種 1為顯示原型,2為隱式原型 1.顯示原型 a prototype b 每個函式都有乙個顯示原型prototype當然函式也有隱式原型 c 原型就是函式的乙個屬性,這個屬性名叫做prototype d 這個屬性即prototype的型別是object 2.隱式原型 a proto b 每個...
原型與原型鏈
圖中一共標了7條線,就一條一條的講,講完了就應該懂了 已知 1.函式是物件,原型也是物件 2.proto 每乙個物件都有,prototype是函式特有的 3.物件的 proto 屬性指向該物件建構函式的 原型 prototype 線1.物件f1的 proto 屬性指向其建構函式的原型 其建構函式 f...
原型與原型鏈
值型別 string,number,boolean,undefined function person var p1 newperson p1即為建構函式person 的例項化物件 var arr 10 20,30 40,50 60 這種語法糖形式的物件建立,是由array 函式建立簡化而來的。這個...