【发布时间】:2013-05-13 08:52:45
【问题描述】:
a = 1;
b = "1";
if (a == b && a = 1) {
console.log("a==b");
}
上面的 Javascript 代码将导致 Google Chrome 26.0.1410.43 中 if 语句中的错误:
未捕获的 ReferenceError:分配中的左侧无效
我认为这是因为不能赋值语句&&、a=1第二部分中的变量a。但是,当我尝试下面的代码时,我完全糊涂了!
a = 1;
b = "1";
if (a = 1 && a == b) {
console.log("a==b");
}
为什么一个说法正确而另一个说法错误?
【问题讨论】:
-
你到底想在这里完成什么?代码实际上应该做什么?
-
始终使用
(和)作为运算符优先级 -
你这里写错了,要这样写
if(a==1 && a == b)。
标签: javascript google-chrome operator-precedence