知識點:
-
通過原型鏈來實現(xiàn)子類和父類的關聯(lián)洒沦,通過instanceof 來檢測兩者之間關系儒鹿。
obj instanceof constructor //可以檢測objd的constructor.prototype是否在obj的原型鏈上
構造函數(shù)(prototype)和實例對象(__proto__)都指向構造函數(shù)的原型對象
原型對象中constructor指向構造函數(shù)春畔。
核心:
若使子類的實例原型鏈上有父類的prototype,可以將子類的prototype設置為父類的實例(更好的是設為父類prototype的副本)
function Super(name){
this.name=name;
}
Super.prototype.say=function(){
alert('g');
}
function Sub(name,age){
Super.call(this,name);
this.age=age;
}
inherit(Sub,Super);
Sub.prototype.talk=function(){
alert('g');
}
function inherit(sub,sup){
var prototype=Object.create(sup.prototype);
prototype.constructor=sub;
sub.prototype=prototype
}