我总是发现IIFE在通过几个论点时可怕。例如:
(function($, node, selector) {
// ...
return $(selector, node);
})(jQuery, document.body, "p > a");
事实上,你首先得到的参数,以及它的可读性,因为你必须将它们与IIFE的参数相匹配。
但是我经常阅读的东西。为什么不在IIFE中声明变量,如下所示:
(function() {
var $ = jQuery,
node = document.body,
selector = "p > a";
// ...
return $(selector, node);
})();
具有如上所示的键/值对看起来更具可读性。为什么不这样做? (与性能相关的原因?不混合父作用域的局部和变量?)
Florent的