首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript this.superclass.constructor()和extend()

Javascript this.superclass.constructor()和extend()
EN

Stack Overflow用户
提问于 2013-10-17 09:00:39
回答 1查看 1.3K关注 0票数 2

这些代码是从"Learning Javascript Design Patterns“一书中抽象装饰器的例子中提取出来的。我被this.superclass.constructor()extend()搞混了。

我可以理解this指的是myMacbookPro,这里是CaseDecorator的一个实例。但是this.superclass指的是什么呢?为什么不只使用this.constructor(macbook)

CaseDecorator的超类是MacbookDecorator?继承发生在哪里?它们是原生Javascript的一部分还是第三方库的一部分?

谢谢

代码语言: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);
EN

回答 1

Stack Overflow用户

发布于 2013-10-17 09:11:30

Extend接受两个对象,并将它们组合在一起。如果有两个属性相同,但其中一个对象中有第三个属性,则最终对象有三个属性。示例:

代码语言:javascript
复制
var object1 = { name: "Test1", sex: "male" };
var object 2 = { job: "Worker" }

var extendedObject = $.extend(object1, object2);

扩展对象将是:

代码语言:javascript
复制
objectExtended = { name: "Test", sex: "male", job: "Worker" }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19416520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档