第160天 有些js库习惯在代码开头处添加分号有什么作用呢?除了分号还可以换成别的吗?
js 文件结束 处是 没有 分号的。若几个 js 连在一起时,2个 js 连接处 会发生语法上的混淆。
开头加 ; 用于分隔, 可以避免多文件 压缩 在一起时 引起的 错误。
分号和分号放在一起也没问题,相当于 “空语句”。
;相当于上一个语句的结束,可以防止在js打包的时候,某一个js文件末尾未加;导致两个js文件被判定为一条语句。
也可以替换为void
分号是为了和前面的代码隔开,js可以用换行分隔代码,但是合并压缩多个js文件之后,换行符一般会被删掉,所以连在一起可能会出错,加上分号就保险了
防止多文件集成成一个文件后,高压缩出现语法错误,
if (!args) return var a
func() !item && fu()
func() [].call()
var a = 1 a += 1
以上情况都会报错
void ! + ~ 代替
Most helpful comment
js 文件结束 处是 没有 分号的。若几个 js 连在一起时,2个 js 连接处 会发生语法上的混淆。
开头加 ; 用于分隔, 可以避免多文件 压缩 在一起时 引起的 错误。
分号和分号放在一起也没问题,相当于 “空语句”。