可能重複:
What does the exclamation mark do before the function?!字符前自調用匿名函數
我,剛纔已經碰到一個tablesorter插件,並且在注視源,我發現插件設置與自我調用匿名函數 - 沒有什麼不尋常的。然而,我不知道是什麼導致!
字符的目的:
!(function($) {})(jQuery);
我的意思是,它是如何與此不同:
(function($) {})(jQuery);
可能重複:
What does the exclamation mark do before the function?!字符前自調用匿名函數
我,剛纔已經碰到一個tablesorter插件,並且在注視源,我發現插件設置與自我調用匿名函數 - 沒有什麼不尋常的。然而,我不知道是什麼導致!
字符的目的:
!(function($) {})(jQuery);
我的意思是,它是如何與此不同:
(function($) {})(jQuery);
對於所有意圖和目的,它不根本不同。它否定了函數調用的返回,但由於返回值沒有分配給任何東西,所以它沒有意義。
當代碼通過縮小器與另一個代碼串聯時,它會產生變化 – Kos
@Kos:是的,但縮小器不會將該函數放在大括號中。 OP給出的例子與'!'將用於保存一個可測字節的場景不同。 –
Duplicates:http://stackoverflow.com/questions/8305915/function-vs-function http://stackoverflow.com/questions/9475110/not-self-invoking-anonymous-functions?rq=1 – Kos
@sachleen - 有趣的相關問題。但似乎插件作者誤解了這種技術...... –