作用:改變this指向
區別:傳參列表不同
我們通過乙個實際案例來看
function father(name,age,hobby)
function son(name,age,hobby,grade)
var son=new son("xiaozhuan",13,"football","2000");
這樣繼承父親中的物件可以減少**的耦合。
var arr =[1,2,3,4,5,6,7]
var arr1=array.prototype.slice.call(arr,0,3);
console.log(arr1);
arr陣列呼叫陣列方法slice,call中放入slice的引數輸出為:
格式有所不同。但是這樣的實現實際上在每一次建立物件時都會去走一遍父級建構函式所以出現了下面這種實際運用最多的模式
二、聖杯模式繼承
直接擼上**理解
father.prototype.hobby="football";
function father(age)
function son(name)
function inherit (a,b);
f.prototype=a.prototype;
b.prototype=new f();
b.prototype.constuctor=b;
}inherit(father,son);
var father =new father(31);
var son=new son("xiaoli");
使物件通用乙個原型來繼承屬性。 javascript中繼承模式
一.每個方法function都有原型prototype屬性,這個屬性是構造方法構造出來的物件的公有祖先 當使用建構函式new出物件時,隱式地在構造方法開頭新增var this 在函式末尾加上return this.子類只可以訪問父類的屬性但不能修改,如果修改那麼會在自己的屬性上加 二.繼承的發展史 ...
JavaScript之繼承模式(聖杯模式)
1.傳統形式 過多的繼承了沒用的屬性 2.借用建構函式 不能繼承借用建構函式的原型 每次建構函式都要多走乙個函式 function person name,age,function student name,age,tel,grade 3.共享原型 不能隨便改動自己的原型 father.protot...
JavaScript 繼承 組合繼承
繼承 組合繼承 組合繼承也叫做偽經典繼承,指的是將原型鏈和借用建構函式的技術組合到一塊,從而發揮二者之長的一種繼承模式。組合繼承的基本思路是使用原型鏈實現對原型屬性和和方法的繼承,而通過借用建構函式來實現對例項屬性的繼承。組合繼承通過在原型上定義方法實現了函式復用,又能夠保證每個例項都有它自己的屬性...