我試圖把一個變量名傳遞給函數的變量中,並在其上執行操作。設置傳遞給函數的變量?
這裏是我的代碼(簡化):
function animloop(object, increment, max, direction) {
if (direction == 1) {
object += increment;
if (object >= max) {
clearInterval(pingpong.animloop);
}
}
if (direction == -1) {
object -= increment;
if (object <= max) {
clearInterval(pingpong.animloop);
}
}
}
如果我第一次設置變量xyz = 10;
然後調用pingpong.animloop = setInterval(animloop(xyz, 0.1, 40, 1)), 1000/60);
,它不會工作。
我學到的是,當我打電話給object += increment;
時,它實際上並沒有修改任何object
的值。基本上xyz
的價值沒有變化。
希望你明白我想要做的事。 :/
數字是在JavaScript中不可變的。 – 2012-01-18 18:53:38
那麼我怎樣才能一直修改我已經設置的變量? – 2012-01-18 18:57:23
@ ryansworld10你還沒有修改號碼本身。您已經導致變量,對象屬性或數組索引引用_new_數字。變量不「持有」對象或值,他們引用它們。 – Phrogz 2012-01-18 19:07:38