<分区>
Possible Duplicate:
How do JavaScript closures work?
我正在玩弄 Google Closure Compiler , 放入随机代码看看它会做什么。
它重写了我的一个函数,看起来像这样:
(function(msg) { console.log(msg); })("Hello World!");
"Hello World"
是作为 msg
传递给它前面的匿名函数的参数。我看了一会儿,以为我在 jQuery 插件中看到了类似的东西,看起来像这样:
(function( $ ) {
...
})(jQuery);
在与 $
的冲突范围内,这对我来说更有意义。但是,将参数传递给这样的匿名函数的主要原因或目的是什么?为什么不简单地将参数定义为函数中的变量?像这样编写函数有任何性能或灵 active 优势吗?