我有一个名为“ 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?

最佳答案

不要使用eval()

使用方括号表示法:

gameObj['op' + i] = 10;

10-08 11:47