sta*_*fan 1 javascript if-statement
我正在试图理解这个非常简化的if语句.在搜索答案时,我发现的是与三元运算符相关的答案.
无论如何.为什么下面的第一个案例起作用,而后者抛出一个ReferenceError?只是想了解事情是如何运作的.
true && alert("test")Run Code Online (Sandbox Code Playgroud)
var x;
true && x = 10;Run Code Online (Sandbox Code Playgroud)
这与运算符优先级有关.由于&&操作是在之前计算的=,所以你的第二个例子最终没有意义:(true && x) = 10;
为了您的第二种情况,请以这种方式添加括号:
var x;
true && (x = 10);Run Code Online (Sandbox Code Playgroud)