我试图用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/

10-09 17:52