【发布时间】:2011-10-08 19:34:14
【问题描述】:
是否可以在 javascript / dojo 工具包中显式调用基本构造函数 设置构造函数参数(继承类的构造函数外)
dojo.provide("ClassA");
dojo.declare("ClassA", null,
{
constructor: function(text)
{
console.log(text);
}
});
dojo.provide("ClassB");
dojo.declare("ClassB", ClassA,
{
constructor: function()
{
// want to call the base constructor of Class A with "Hello "
console.log("world!");
}
});
我可以使用 this.inherited(arguments, ["Hello "]) 但这会产生对基本构造函数的两次调用(一个没有给定参数,一个有给定参数)。 (将产生以下输出:undefined\n"Hello "\n"world!")。
我已经尝试过使用以下方法:
dojo.mixin(this, "Hello");
dojo.safeMixin(this, "Hello");
dojo.mixin(ClassA, "Hello");
...
但我所做的所有事情似乎都调用了基础构造函数两次。有什么建议吗?
【问题讨论】:
标签: javascript oop inheritance constructor dojo