我有一个名为“gameObj”的对象,它有一个名为“op1”,“op2”的变量,...... 我想为对象的变量赋值。 这是我的代码:
eval("gameObj.op"+i)
这给了我变量的值但是当我尝试分配一些值时,它会出错:
通过尝试“ ReferenceError:分配中的左侧无效”:
eval("gameObj.op"+i) = 10;
即使我尝试将其存储在如下变量中:
var temp = val("gameObj.op"+i)
temp = 10;
它改变了 temp 的值,但没有改变gameObj.op1 / 2/3的值[即 - i的值]
如何为gameObj.op1分配一个值,比如说10?
答案 0 :(得分:3)
请勿使用eval()
!
使用括号表示法:
gameObj['op' + i] = 10;