高分悬赏,Javascript语言,为什么有的地方一行写完了不需要分号?这样也不会报错么

问题描述:

高分悬赏,Javascript语言,为什么有的地方一行写完了不需要分号?这样也不会报错么

逗号也可以做分隔符号,不一定要分号,压缩代码时经常用到这种写法
a=1,b=2,c=3
console.log(c)

因为JavaScript中的ASI机制,是允许省略分号。因为解析器除了分号还会以换行为基础按一定的规则作为断句的依据,但是为了可读性还是在结尾处带上分号最好。

JavaScript 的分号却是可选的,若语句都各占一行,则可以省略分号

如果你写 JS 代码不喜欢带分号,而又搞不清什么时候必须加分号,可以这么做:在以 “(“、”[“ 、”/“、”+”、”-“ 开头的语句前面都加上一个分号。

在 JavaScript 中,行尾的分号有一种自动插入机制,这样子,可以容忍某些朋友忽略了输入分号。 当然你最好养成输入分号的习惯,同时掌握 JavaScript 是如何处理忽略输入分号的情况的,因为这种知识有助于你理解没有分号的代码。
规范: 语法解析器将换行视为当前语句的一部分,除非有一个显式的分号结束这一行。
具体详情请参见关于JavaScript 中的“自动分号插入”机制(ASI)