1
如果這個問題看起來很愚蠢,但是我對JS比較陌生,道歉。爲什麼javascript實例間共享屬性
我有一類繼承動物的狗。動物有一個陣列屬性。 在代碼中,我創建一個新的狗並添加東西到數組中。 問題是Dog的每個新實例似乎都共享該數組。
Animal.js:
define([
"dojo/_base/declare",
"evo/common/model/_Model"
], function(declare, _Model) {
return declare([_Model], {
_id: 0,
_items: [],
_filter: null,
...
});
});
Dog.js:
define([
"dojo/_base/declare",
"evo/common/model/_ModelList"
], function (declare, _ModelList) {
return declare([_ModelList], {
...
});
});
我固定復位_items當我創建一個新的狗,但我想,如果我有狗的多個實例會影響所有。 如何使屬性非靜態?
可能重複的[Javascript對象構件被原型如下陣列成爲由所有的類實例共享](http://stackoverflow.com/q/4425318/1048572 )(假設你知道dojo聲明是什麼) – Bergi
@Bergi不是真的......它只是被「扔」給我,沒有太多的解釋:) – algiogia
如果你是JS的新手,也許你不應該從dojo開始: - )我建議http://eloquentjavascript.net/1st_edition/chapter8.html作爲教程,但還有更多。 – Bergi