小编Mac*_*och的帖子

JavaScript解释器忽略语法错误

这段简短的代码显然是错误的:

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不被视为语法错误?

javascript syntax-error

3
推荐指数
1
解决办法
63
查看次数

标签 统计

javascript ×1

syntax-error ×1