我试图把一个变量名传递给函数的变量中,并在其上执行操作。设置传递给函数的变量?
这里是我的代码(简化):
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