变量中的javascript匿名函数

时间:2011-10-16 15:44:45

标签: javascript

在最近几天我对javascript中的匿名函数感兴趣,所以我开始“探索”jquery等框架,在第一行我看到了这段代码:

var jQuery = (function() { .. functions .. }();

并且想到了一个问题 - 该代码的目的是什么? 为什么变量包含匿名函数?该变量的用途是什么?它是一种功能容器还是什么?如果是如何访问这些功能?

2 个答案:

答案 0 :(得分:3)

  

该代码的目的是什么?

您实际上缺少一个右括号,以使此代码有效javascript:

var jQuery = (function() { ... })();

它定义了一个匿名函数并立即执行它将结果存储在变量中。

你可以这样想:

var jQuery = foo();

只是他们没有费心将foo定义为外部函数,因为他们不需要在代码中的其他位置调用它。因此他们将其定义为匿名函数。

通过这样做,在此匿名函数中声明的所有内容都是作用域,并且只能包含匿名函数。外面无法进入。

答案 1 :(得分:0)

通过减少函数的所有内容的范围,可以防止可能的全局范围内的冲突,意外提升,并最小化窗口对象的附加对象。