原型是一種機制。
此機制的作用是讓a物件可以從b物件中繼承功能特性;這種繼承機制與經典的物件導向程式設計語言的機制不同。
js是基於原型的語言(prototype-based language)。
每個物件都擁有乙個原型物件,物件以原型為模板從原型繼承屬性和方法。
原型物件也可能擁有原型,並繼承屬性和方法,層層包裹。
這種分散的事物之間存在聯絡而使得大家像是一根繩上的螞蚱一樣,這一大串螞蚱加上這跟繩子就叫原型鏈。
只有繩子沒有啥意思,只有螞蚱又沒聯絡,要串起來才好吃。
準確的說,這些屬性和方法定義在object的構造器函式(constructor functions)之上的prototype屬性之中,而非物件例項本身。
物件例項和構造器之間建立乙個連線,通過上溯原型鏈,在構造器中找到這些屬性和方法。
注意:物件的原型和建構函式的prototype屬性是有區別的,前者是每個例項上都有的屬性,後者是建構函式的屬性,他們指向同乙個物件。
就像是兩條狗,他們的主人是不同的,但是他們都能根據嗅覺把主人帶到相應的地方(也許埋著**也許埋著牛糞)。
js中每個函式都有prototype屬性。
javascript中的原型物件
function person person.prototype.name kobe person.prototype.age 23 person.prototype.job player person.prototype.sayname function var person1 new perso...
Jscrpit中的原型物件
無論什麼時候,只要建立了乙個函式,就會根據一組特定的規則為該函式建立乙個prototype屬性,這個屬性是乙個指標,指向該函式的原型物件。同時,原型物件也會自動獲得乙個constructor屬性,這個屬性是乙個指向prototype屬性所在函式的指標。當你呼叫這個 構造 函式建立例項時,該例項的內部...
原型物件,擴充套件原型物件
原型鏈原型的修改或改變 object的原型物件給我們提供的方法 建構函式就是為了建立出很多具有相同屬性和方法的例項物件 function person name 使用建構函式建立例項化物件 var p1 newperson 張三 var p2 newperson 李四 每乙個例項物件都有saynam...