通過我剛剛發現了艱辛的道路對象是通過引用在Javascript中傳遞,例如:使對象不被引用
for(var layer = 0; layer < hudLayers['layers'].length; layer++){
// Store the to-be-calculated values in this object
var tempValues = hudLayers['layers'][layer];
tempValues['name'] = 'test';
}
這將改變tempValues和hudLayers值。 (看起來很明顯,但沒有一點代碼的帖子看起來很裸體)。
有沒有快速解決這個問題的方法?
您想爲'tempValues'指定一個值並使它不會反映在'hudLayers'中?你爲什麼要這樣? – 2010-07-19 19:30:56
你真的想知道嗎? :) 'hudLayers'包含圖像寬度和高度的幾個變量。這是一個HUD,因此必須每秒繪製多次。 「hudLayers」中的內容實際上就是「藍圖」(基於該變量值的圖像寬度,...) 如果我簡單地將它寫回'hudLayers',藍圖就消失了,屏幕上的圖像將永遠保持不變。 – skerit 2010-07-19 19:53:01