關于抽象類中繼承的問題
老師的代碼可能有點錯誤但意思應該沒錯,我的理解是這樣的:
function?Base(){
throw?new?Error('直接執行我沒用!');
}
Base.det?=?function(){console.log('det');};
Base.stop?=?function(){console.log('stop');};
Base.init?=?function(){console.log(23);};
Base.prototype.fun?=?function(){console.log('prototype_fun');};
function?link(){}
link.prototype?=?Object.create(Base);//這里我想應該是將Base對象作為繼承吧;
link.prototype.constructor?=?link;
link.det?=?function(){console.log('link.det');};
link.prototype.init?=?function(){console.log('link.init');};
Base.det();//‘det'
link.det();//'link.det'
var?ink?=?new?link();
ink.det();//'det'
ink.init();//'link.init'
ink.fun();//會報錯,說這不是一個function
//如果這里能被執行必須修改Object.create(Base.prototype);..............................?
2016-05-19
typeof Base//?"function"
typeof ?Base.prototype //"object"