这段简短的代码显然是错误的:
if (5 > 2) {
console.log("5 > 2");
} else (5 < 2) {
console.log("5 < 2");
}
Run Code Online (Sandbox Code Playgroud)
条件else不应该被指定.SyntaxError: Unexpected token {正如预期的那样,将导致执行此代码.
问题在于,在稍微改变(将左括号转移到新行)之后,解释器将忽略语法错误.
这段代码:
if (5 > 2) {
console.log("5 > 2");
} else (5 < 2)
{
console.log("5 < 2");
}
Run Code Online (Sandbox Code Playgroud)
导致此输出(在chrome和firefox中测试):
5 > 2
5 < 2
Run Code Online (Sandbox Code Playgroud)
这怎么可能?为什么这else不被视为语法错误?