这些代码是从"Learning Javascript Design Patterns“一书中抽象装饰器的例子中提取出来的。我被this.superclass.constructor()和extend()搞混了。
我可以理解this指的是myMacbookPro,这里是CaseDecorator的一个实例。但是this.superclass指的是什么呢?为什么不只使用this.constructor(macbook)
CaseDecorator的超类是MacbookDecorator?继承发生在哪里?它们是原生Javascript的一部分还是第三方库的一部分?
谢谢
var CaseDecorator = function(macbook) {
// call the superclass's constructor next
this.superclass.constructor(macbook);
};
// Let's now extend the superclass
extend(CaseDecorator, MacbookDecorator);
....
// Decorate the macbook
myMacbookPro = new CaseDecorator(myMacbookPro);发布于 2013-10-17 09:11:30
Extend接受两个对象,并将它们组合在一起。如果有两个属性相同,但其中一个对象中有第三个属性,则最终对象有三个属性。示例:
var object1 = { name: "Test1", sex: "male" };
var object 2 = { job: "Worker" }
var extendedObject = $.extend(object1, object2);扩展对象将是:
objectExtended = { name: "Test", sex: "male", job: "Worker" }https://stackoverflow.com/questions/19416520
复制相似问题