0

我有一个名为“gameObj”的对象,它有一个名为“op1”、“op2”的变量,...我想为该对象的变量分配一些值。这是我的代码:

    eval("gameObj.op"+i)

这给了我变量的值,但是当我尝试分配一些值时,它给出了一个错误消息:

ReferenceError: Invalid left-hand side in assignment ” 通过尝试:

   eval("gameObj.op"+i) = 10;

即使我尝试将其存储在如下变量中:

  var temp =  val("gameObj.op"+i)
  temp = 10;

它改变了temp的值,但不改变 gameObj.op1/2/3 [即 i 的值]

我如何为 gameObj.op1 分配一个值,比如 10?

4

1 回答 1

3

不要使用eval()

使用括号表示法:

gameObj['op' + i] = 10;
于 2013-06-14T09:15:56.913 回答