关于功能:这个JavaScript代码段是什么意思?

What does this JavaScript snippet mean?

本问题已经有最佳答案,请猛点这里访问。

我之前没有遇到过这种语法。 这是什么意思? 它与哪种技术有关?

1
2
3
(function(fun) {

})(myFunkyAlert);

这是一个匿名函数,它将在声明后立即运行。 它的参数是myFunkyAlert,在函数内部它将被引用为fun变量。

我们通常编写这样的函数的原因是为了避免由于作用域的冲突。

例:

1
2
3
4
5
var myFunkyAlert ="The funky alert";

(function(fun) {
   alert(fun);
})(myFunkyAlert);

这将导致警告消息"The funky alert"。


您正在定义一个匿名函数,然后使用myFunkyAlert作为参数调用它。


请参阅此问题:JavaScript中的函数表达式与声明之间有什么区别? 这个链接:http://kangax.github.com/nfe/