2011-08-22 103 views

回答

121

如果您在一些不好的脚本之后加上了这个脚本,分号就没有用分号正确关闭它的最后一行。在这种情况下,可能会将两个脚本组合在一起并导致代码无效。例如,如果您将多个脚本合并为单个响应。

()在最后执行该函数。这是创建一个闭包。私有变量和方法可以在这个函数的范围内声明,不能从脚本外部访问。

+2

这与“坏”脚本无关 - 它与分号自由风格的书写有关。 – 2011-08-22 09:42:43

+84

恕我直言,这是“坏”脚本。 –

+0

@pst:我没有得到。谨慎阐述? – naveen

9

此构造:

(function(){ /* something in here */ })() 

用于创建在Javascript中一个新的范围。

More info on function scope here.

关于分号,我从来没有见过它。我认为这是您连接多个脚本时的安全措施,因为在某些情况下,分号在文件末尾是可选的。

+0

这里的例子:https://github.com/js-cookie/js-cookie/blob/latest/src/js.cookie.js –