我正在寻找一种简单的方法来合并Prototype Class对象中的options对象。
我有一个像这样的父“抽象”类:
var ParentClass = Class.create({
initialize : function(someattributes, options ){
this.someattributes = someattributes;
this.options = Object.extend({
foo : "foostring",
bar : 1337
}, options || {});
}
});
和一个扩展ParentClass的子类:
var ChildrenClass = Class.create(ParentClass {
initialize : function($super, someattributes, options ){
$super(someattributes, options);
this.options = Object.extend({
wheez : "wheezstring",
bling : 123456
}, options || {});
}
});
所以我们的想法是在父类中有一些默认选项,在子类中有一些默认选项 但是,子类的选项对象应该是父类选项obejct的扩展;
初始化子类时合并两个选项对象的正确方法是什么?
我希望我足够清楚......
谢谢
答案 0 :(得分:2)
假设在调用子类初始化程序时调用了父类初始值设定项,您可以使用父项初始化的options
成员:
Object.extend(Object.extend(this.options, {
wheez: "wheezstring",
bling: 123456
}), options || {});