【发布时间】:2011-08-04 10:06:41
【问题描述】:
如果我有两个类,#1 是 #2 的混合,#1 声明属性(使用默认值 - 例如:[] 声明一个新的空数组) - 为什么会发生,所有实例class#2 共享相同的数组实例?
我总是必须在构造函数中初始化我的属性吗?
错误代码如下:
dojo.declare("C1",
[dojo.Stateful],
{
_watches:[],
constructor:function(){
this._watches.push("test");
}
...
}
);
dojo.declare("C2",
[dijit.MenuBarItem,C1],
{
constructor:function(){
console.debug(this._watches.length);
}
}
);
new C2();
new C2();
new C2();
new C2();
问候
【问题讨论】: