可能重复:
Javascript的自动分号插入有哪些规则?
JavaScript因其隐式行终止而迷惑我.它是一种非常类似C的语言,除了分号中的结尾行通常是可选的.
那么它如何决定何时采用行尾?
考虑这个例子:
var x = 1 + 2
-3 + 3 == 0 ? alert('0') : alert('3')
Run Code Online (Sandbox Code Playgroud)
将其打入HTML文件并在Safari中打开它弹出3.如果在第一行的末尾粘贴分号,则会更改为0.
算法和逻辑都很简单; 我感兴趣的是JavaScript决定了什么标准,在这种情况下,不要假设第一行之后的行尾.它是否仅在假设EOL之前等待错误情况?还是有更明确的标准?
我很好奇.我没有研究过这么多; 我想看看S/O社区对此有什么看法.无论如何,我总是用分号结束我的行,但是我有一些JS压缩代码,当我不经意地留下分号时会不时出现分号问题.
编辑
好的只是为了澄清实际问题在这里:任何人都可以用非抽象的术语描述JavaScript何时会自动插入分号.
这不是重复的.我知道自动分号插入的规则已经很好地建立并且简明扼要地记录下来.它们也是长篇大论而且令人困惑,因为它们通常是抽象的.根据我的经验,高级程序员不会消化低级文档以及简单的最终结果,这正是我正在寻找的.
如果没有人感兴趣,那么当我有机会时,我会有机会回答自己.在此期间,请将枪支留在枪套中几天.谢谢.