我试图用c
连接一个函数中的值,并每次添加5。但是,我一直收到错误Uncaught ReferenceError: Invalid left-hand side in assignment
。有人知道解决方法吗?我假设我不能将+
运算符用作连接,然后在+=
中使用它?我很困惑为什么这不起作用。
var c1 = 0;
var c2 = 0;
function(d) {
d.number; //possible value of 1 or 2
c + d.number += 5; //isn't this c1 += 5, or c2 += 5?
"c" + d.number += 5; //also tried this - same error
console.log(c1);
console.log(c2);
;}
最佳答案
如果Pointy在注释中所说的不清楚,可以使用[ ]
运算符“构造”变量名称(如您正在尝试的那样),将其作为对象属性。
这是一个例子:
var cObj = {};
cObj.c1 = 0;
cObj.c2 = 0;
function(d) {
cObj['c' + d.number] += 5;
console.log(cObj.c1);
console.log(cObj.c2);
;}
关于javascript - 在函数中将字符串与变量连接时,无效的左侧参数错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43174797/