2017-08-25 118 views
1
var hp ='geo' 
2==2 && hp += 'jio' 

为什么我收到错误的 : - 参考错误:无效的左手侧分配JS错误与&&运营商

'// '' ///'//

+0

你到底想达到什么目的? – Thijs

+1

因为它被评估为'(2 == 2 && hp)+ ='jio'' – adeneo

回答

0

有在hp += 'jio'之前是逻辑运算符&&。这就是得到错误Invalid left-hand side in assignment的原因。

expressions and operators一起使用时,请注意,运算符的优先级(在此例中为&&)决定了在评估表达式时应用它们的顺序。您可以使用括号覆盖运算符优先级。

在这种情况下,如果您想要修改变量hp,您应该使用圆括号来执行此操作,因为使用圆括号时,初始化的右侧将作为单个表达式执行。

代码:

var hp = 'geo'; 
 

 
2 == 2 && (hp += 'jio'); 
 

 
console.log(hp);