(function() {
LoggerBase.prototype.output = function(message) {
console.log('LoggerBase: ' + message);
};
function BookAppLogger() {
LoggerBase.call(this);
this.logBook = function(book) {
console.log('Book: ' + book.title);
}
}
BookAppLogger.prototype = Object.create(LoggerBase.prototype);
}());
在这段代码中,BookAppLogger继承了LoggerBase对象的原型,我认为这从上一条语句中可以清楚。我不明白的是LoggerBase.call(this)
声明的目的。这条线是做什么的,为什么它是必要的?使用.call继承原型(this)
那么,这是否意味着一次LoggerBase.call(本);在BookAppLogger函数中调用时,属性fname,lname和fullname是否添加到BookAppLogger对象中?可以在BookAppLogger.prototype中找到这些属性还是只能在BookAppLogger对象中找到这些属性? – mikelee54