为什么在定义函数之前需要使用分号?

时间:2013-05-01 13:59:02

标签: javascript jquery jquery-plugins

我在一些jQuery插件源代码的函数开头看到了一些奇怪的;,如下所示:

;(function ($) {.....

有人可以解释为什么他们需要在这种情况下使用;吗?

2 个答案:

答案 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