有一個「!」功能之前,爲什麼?
http://twitter.github.io/bootstrap/assets/js/bootstrap-transition.js
! function($) {
//......
}(window.jQuery);
有一個「!」功能之前,爲什麼?
http://twitter.github.io/bootstrap/assets/js/bootstrap-transition.js
! function($) {
//......
}(window.jQuery);
的!
導致函數被視爲表達,這意味着它具有與此相同的效果:
(function($) {
//......
})(window.jQuery);
嗯,不是很完美:p如果你想返回一個值,那麼'(...)()'比''好得多!' – 2013-04-25 01:46:21
它實際上並不會導致它被評估......這是由最後括號。這只是一種表明它立即被調用的方式。這是爲了更好的可讀性(與整個函數的括號相同) – 2013-04-25 01:48:06
強制函數是一個表達,其中結束'(window.jQuery)'然後調用它。 – Joseph 2013-04-25 01:45:35
也是:http://stackoverflow.com/questions/3755606/what-does-the-exclamation-mark-do-before-the-function – tptcat 2013-04-25 01:45:44
只是一個視覺線索來告訴這是一個IIFE,也可以是'〜'或'+'。除非函數返回某個變量,否則無關緊要。最常見的做法是將整個表達式放在括號中。 – elclanrs 2013-04-25 01:47:16