我不是 JavaScript 程序员,所以这可能是一个非常基础的问题。问题在于,当出现某些特定的语法错误时,整个 JS 代码都无法工作。
由于 JS 是解释型语言,我认为它应该独立地执行每一行,直到发生错误,但似乎并没有发生,至少在下面的情况下不是这样:
console.log('a')
consol.log('b') //intentional typo in "console"
console.log('c')
---- output ----
a
ReferenceError: consol is not defined
上面的例子基于解释型语言的工作原理,听起来都很好。现在看一下以下错误:
console.log('a')
console.log('b' //intentionally didn't put the right parenthesis
console.log('c')
---- output ----
SyntaxError: missing ) after argument list
为什么第一行不应该被执行?
注意:我使用https://playcode.io运行代码,并在Mozilla Firefox上进行。
consol.log('b')
在语法上不是不正确的。 - Pointy