给对象赋值.变量动态形成

asssign value to object.variable formed dynamically

本文关键字:动态 变量 对象 赋值      更新时间:2023-09-26

我有一个名为"gameObj"的对象,它有一个名为- "op1","op2",…我想给这个对象的变量赋值。下面是我的代码:

    eval("gameObj.op"+i)

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

"ReferenceError: Invalid left side in assignment" by trying:

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

即使我试图将其存储在变量中,如:

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

它改变temp的值,但不改变gameObj的值。Op1/2/3[即i的值]

我如何分配一个值,说10,gameObj。op1 ?

不要使用eval() !

使用括号符号:

gameObj['op' + i] = 10;