我確定有一個非常簡單的解決方案,但是我無法圍繞它進行包裝。我想,像這樣內的創建和對象的數組循環:嘗試在for循環中創建對象
for(var i = 0; i < 100; i++) {
foos[i] = new Foo(i*10);
bars[i] = someObject.createBar({
x : 0,
y : 0,
foobar = function() {
foo[i].a = true;
}
});
}
當試圖運行此我得到「無法設置屬性未定義」,既FOOS和酒吧出現在靠前的代碼中聲明作爲全局變量。
它工作正常,如果我創建foos作爲foos [0]和通過酒吧[0]訪問。我懷疑它的東西做功能級別的作用域,但據我所看到的陣列應該是全局對象上訪問....
這是因爲你想設置foo [我] .a而不是foos [i] .a在foobar函數中? – dougajmcdonald
@dougajmcdonald嗯。我們都立即想到了一個關閉問題,但它可能只是一個錯字... –
您的語法無效。那麼'foobar ='不能用對象直接表示法 – 2012-06-18 19:27:40