What does following a function with (jQuery, window, document); mean?
本问题已经有最佳答案,请猛点这里访问。
我有以下插件:
1 2 3 4 5 6 | ;(function($, window, document) { ... ... })(jQuery, window, document); |
我能理解是什么; 是为了并且也意识到$是jQuery,但有人可以解释为什么函数后跟(jQuery,window,document);
它被称为"自我催眠"或"立即调用"功能。这意味着该函数在使用最后一组括号中的参数创建后立即运行。
更多的信息
我不确定我完全理解你在问什么,但他们做的是将
出于性能原因,他们最有可能这样做。这使得最小化器可以将对
另外我相信(没有参考atm)与全局变量(实际上是微优化)相比,访问局部变量的速度稍快一些。
这称为立即调用函数表达式或自执行匿名函数。它使开发人员能够隐藏他的私有声明。
1 2 3 4 5 6 7 | ;( // <---------------+ // | encapsulate the function function($, window, document) { // <--+ declare | and call it passing three // | anonymous | arguments. } // <--+ function | // | )(jQuery, window, document); // <---------------+ |
这是一个立即调用的匿名函数(所谓的IIFE)。
传递
它是一个立即调用的函数表达式
这意味着,该函数立即被声明和执行。这样做是为了创建一个新的范围。