JavaScript原型/原型鏈
原型/原型鏈
每個物件都連線到一個原型物件,並且它可以從中繼承屬性。所有通過物件字面量建立的物件都連線到object.prototype,它是JavaScript中的標配物件。
當你建立一個新物件時你可以選擇某個物件作為它的原型。原型連線在更新時是不起做用的。當我們對某個物件做出改變時,不會觸及該物件的原型;
原型連線只有在檢索值的時候才被用到,如果我們嘗試去獲取物件的某個屬性值,但該物件沒有此屬性名,那麼JavaScript會試著從原型物件中獲取屬性值。如果那個原型物件也沒有該屬性,那麼再從它的原型中尋找,以此類推,直到該過程最後到達終點object.prototype.如果想要的屬性完全不在於原型鏈中,那麼結果就是undefined值。這個過程稱為委託。這個原型連線形成鏈就是原型鏈
原型關係時一種動態關係。如果我們新增一個新的屬性到原型型中,該屬性值會立即對所有基於該原型建立的物件可見。
function person(){ this.name = function(){ console.log("li") } } person.prototype.age = function(age){ this.age = age console.log(this.age ) } var res = new person() res.age(14)