2011-08-22 98 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 –