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