Javascript this.superclass.constructor()和extend()
这些代码摘自“”一书中抽象装饰器的示例。我被Javascript this.superclass.constructor()和extend(),javascript,inheritance,extend,superclass,Javascript,Inheritance,Extend,Superclass,这些代码摘自“”一书中抽象装饰器的示例。我被this.superclass.constructor()和extend()弄糊涂了 我能理解这个指的是myMacbookPro,这里是CaseDecorator的一个实例。但是this.superclass指的是什么?为什么不干脆这个.constructor(macbook) CaseDecorator的超类是MacbookDecorator?遗产发生在哪里? 它们是本机Javascript的一部分还是第三方库的一部分 谢谢 var CaseDeco
this.superclass.constructor()
和extend()
弄糊涂了
我能理解这个
指的是myMacbookPro
,这里是CaseDecorator的一个实例。但是this.superclass
指的是什么?为什么不干脆这个.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);
Extend接受两个对象,并将它们组合在一起。如果有两个相同的特性,但其中一个对象中有第三个特性,则最终对象具有三个特性。例如:
var object1 = { name: "Test1", sex: "male" };
var object 2 = { job: "Worker" }
var extendedObject = $.extend(object1, object2);
扩展对象将是:
objectExtended = { name: "Test", sex: "male", job: "Worker" }
Extend接受两个对象,并将它们组合在一起。如果有两个相同的特性,但其中一个对象中有第三个特性,则最终对象具有三个特性。例如:
var object1 = { name: "Test1", sex: "male" };
var object 2 = { job: "Worker" }
var extendedObject = $.extend(object1, object2);
扩展对象将是:
objectExtended = { name: "Test", sex: "male", job: "Worker" }
this.superclass.constructor()
正在获取this
的属性superclass
,获取其构造函数并调用它。所有这些都没有内置到JavaScript中。有点讨厌的模式,这个。迷你科技,我大体上理解你说的。但是我对本例中的具体对象感到迷茫。this.superclass.constructor()
正在获取this
的属性superclass
,获取其构造函数并调用它。所有这些都没有内置到JavaScript中。有点讨厌的模式,这个。迷你科技,我大体上理解你说的。但在这个例子中,我对具体的对象感到迷茫,这似乎就是jQuery。问题的extend
似乎不是jQuery,而是jQuery。问题的extend
似乎不是jQuery。