js聖杯模式

2021-09-17 03:09:29 字數 705 閱讀 7633

function inherit(target, origin) 

f.prototype = origin.prototype;

target.prototype = new f();

target.prototype.constructor = target;

}

下面還有另一種寫法
var inherit = (function();

return function(target, origin)

} () );

讓我們來看一張,來了解其原理

讓我們來了解一下物件的建立過程和原型:

首先,什麼是原型?

原型是function物件的乙個屬性。它定義了建構函式製造出的物件的公共祖先。通過該建構函式產生的物件,可以繼承該原型的屬性和方法。

constructor、prototype和__proto__

constructor屬性:物件上的屬性,這個屬性對應建立所有指向該原型的例項的建構函式

prototype屬性:函式上的屬性,可以說只有函式才具有的屬性。代表的是原型

__proto__屬性:物件上的屬性,無論是函式物件還是其他物件。指向的是它的原型

js原型繼承,聖杯模式繼承

1.call 可以呼叫函式 2.call 可以修改this指向,使用call 的時候,第乙個引數是修改後的this指向,引數2,引數3 使用逗號隔開 function fun x,y var obj call 可以呼叫函式 fun.call call 可以改變這個函式的this指向 此時這個函式的t...

JS 聖杯模式(原型鏈繼承)

聖杯模式 為了son繼承father原型上的東西,還可以修改自己原型上的東西,對father原型不影響。function inherit target,origin 函式f作為乙個中間層,上連father,下連son,使兩函式互不干擾 f.prototype origin.prototype tar...

JS中的繼承,重點 聖杯模式

1.原型鏈的繼承 grand.prototype.lastname ji function grand var grand new grand father.prototype grand function father var father new father son.prototype fat...