这段代码显然是有问题的:
以下是输出结果(在Chrome和Firefox中测试过):
这怎么可能呢?为什么这个
if (5 > 2) {
console.log("5 > 2");
} else (5 < 2) {
console.log("5 < 2");
}
else
不应该指定条件。执行此代码将导致SyntaxError:Unexpected token {
,正如预期的那样。
问题在于,在进行轻微更改(将左括号转移到新行)后,解释器将简单地忽略语法错误。
这段代码:
if (5 > 2) {
console.log("5 > 2");
} else (5 < 2)
{
console.log("5 < 2");
}
以下是输出结果(在Chrome和Firefox中测试过):
5 > 2
5 < 2
这怎么可能呢?为什么这个
else
没有被视为语法错误?
{ console.log("5 < 2"); }
根本不被视为else的一部分......而( 5 < 2 )
虽然毫无意义,但是它是有效的——就像是else { ( 5<2 ) }
。 - Jaromanda X