我想創建一個對象,從像開始:的Javascript:多維對象
var map = {};
然後,我想利用這個功能添加項目:
add = function(integerA, objectB) {
map[objectB.type][integerA] = objectB;
}
所以,這是我想實現的對象結構的一個隨機示例:
map = {
'SomeType' : { 0 : 'obj', 2 : 'obj', 3 : 'obj' },
'OtherType' : { 0 : 'obj', 5 : 'obj' },
};
現在,我的問題。我不能做map[objectB.type][integerA] = objectB;
,因爲map[objectB.type]
沒有定義。我可以通過if語句檢查map[objectB.type]
是否存在並在必要時創建map[objectB.type] = {};
來解決此問題。
否則,我可以預加載所有對象類型。不過,我寧願不必這樣做。
我的問題:有沒有辦法可以創建對象,而不必檢查每次我想調用add
函數時是否已經存在類型或預加載所有類型?
重要的是我的添加功能是如此之快以及地圖對象是正確的,因爲我需要在很短的時間內讀取和寫入很多東西(這是一個動畫/遊戲應用程序)。
你確定它會是一個性能問題嗎?如果我是你,我會先嚐試一下,看看它是否有問題。在一天結束時,無論你需要做檢查,或JavaScript引擎,所以說明將需要處理 –
這個鏈接有你的問題的答案 http://stackoverflow.com/questions/7744611/pass-variables-by-reference-in-javascript –