我在一些jQuery插件源代码的函数开头看到了一些奇怪的;
,如下所示:
;(function ($) {.....
有人可以解释为什么他们需要在这种情况下使用;
吗?
答案 0 :(得分:11)
当此文件中当前存在的代码最后不包含;
时,此分号将帮助您将新代码正确地连接到文件中。
例如:
(function() {
})() // <--- No semicolon
// Added semicolon to prevent unexpected laziness result from previous code
;(function ($) {
})();
如果没有分号,第二个()
将被解释为函数调用,并将尝试调用第一个函数的返回结果
答案 1 :(得分:5)
这只是为了确保terminate
任何先前的指示。
函数调用前的半冒号是一个安全网 连接脚本和/或其他可能未关闭的插件 正常。
https://github.com/shichuan/javascript-patterns/blob/master/jquery-plugin-patterns/extend.html