JS错误与&&运营商
答
有在hp += 'jio'
之前是逻辑运算符&&
。这就是得到错误Invalid left-hand side in assignment
的原因。
与expressions and operators一起使用时,请注意,运算符的优先级(在此例中为&&
)决定了在评估表达式时应用它们的顺序。您可以使用括号覆盖运算符优先级。
在这种情况下,如果您想要修改变量hp
,您应该使用圆括号来执行此操作,因为使用圆括号时,初始化的右侧将作为单个表达式执行。
代码:
var hp = 'geo';
2 == 2 && (hp += 'jio');
console.log(hp);
你到底想达到什么目的? – Thijs
因为它被评估为'(2 == 2 && hp)+ ='jio'' – adeneo