Javascript 为什么使用这个防御性分号?
在中,为什么在第一行有一个防御性分号Javascript 为什么使用这个防御性分号?,javascript,lodash,Javascript,Lodash,在中,为什么在第一行有一个防御性分号 ;(function(window) { ... }(this)); 我最近在权威JavaScript中读到关于使用防御性分号来保护不正确使用分号的用户的文章,但由于前面没有代码,我看不出这有什么意义。这是在库连接到另一个库的末尾的情况下吗?如果您使用javascript压缩器/缩微器,而之前的插件没有最后,您可能会遇到麻烦。因此,作为预防措施,已添加 此外,它还允许您安全地附加多个javascript文件,以便在单个HTTP请求中为其提供服务。如
;(function(window) {
...
}(this));
我最近在权威JavaScript中读到关于使用防御性分号来保护不正确使用分号的用户的文章,但由于前面没有代码,我看不出这有什么意义。这是在库连接到另一个库的末尾的情况下吗?如果您使用javascript压缩器/缩微器,而之前的插件没有
代码>最后,您可能会遇到麻烦。因此,作为预防措施,代码>已添加
此外,它还允许您安全地附加多个javascript文件,以便在单个HTTP
请求中为其提供服务。如果您使用javascript压缩器/minifier,而之前的插件没有代码>最后,您可能会遇到麻烦。因此,作为预防措施,代码>已添加
此外,它还允许您安全地附加多个javascript文件,以便在一个HTTP
请求中为其提供服务。该分号还用于确保它不会被解释为上一条语句的延续:
var x = 0 // Semicolon omitted here
;[x,x+1,x+2].forEach(console.log) // Defensive ; keeps this statement separate
更多详细信息:分号也用于确保它不会被解释为上一条语句的延续:
var x = 0 // Semicolon omitted here
;[x,x+1,x+2].forEach(console.log) // Defensive ; keeps this statement separate
更多详细信息:最好将代码显示为问题的一部分。简单的“是”就是问题的答案(在末尾)。:-)可能重复的代码最好作为问题的一部分显示。简单的“是”就是问题的答案(在末尾)。:-)可能重复的