在lodash 库行中,为什么第一行有一个防御分号?
;(function(window) {
...
}(this));
我最近在 Definitive JavaScript 中读到了关于防御性分号被用来保护不正确使用分号的用户,但由于没有前面的代码,我不明白这一点。这是为了防止图书馆被连接到另一个图书馆的末尾吗?
在lodash 库行中,为什么第一行有一个防御分号?
;(function(window) {
...
}(this));
我最近在 Definitive JavaScript 中读到了关于防御性分号被用来保护不正确使用分号的用户,但由于没有前面的代码,我不明白这一点。这是为了防止图书馆被连接到另一个图书馆的末尾吗?
;
如果您使用 javascript 压缩器/压缩器,而之前的插件末尾没有 a ,您可能会遇到麻烦。因此,作为预防措施,;
被添加。
此外,它还允许您安全地附加多个 javascript 文件,以便在单个HTTP
请求中提供服务。
该分号还用于确保它不会被解释为前一个语句的延续:
var x = 0 // Semicolon omitted here
;[x,x+1,x+2].forEach(console.log) // Defensive ; keeps this statement separate