到目前为止,我已经了解了使用此功能的好处(它是包装吗?)
因此,它几乎就像命名空间一样。假设我们有:
( function() {
function foo(){
alert(true);
}
foo(); //alerts true
})();
( function() {
function foo(){ //the same title of the function as above
alert("another call of foo");
}
foo(); //alerts, ok.
})();
另外我注意到它可以访问公共变量,如下所示:
var __foo__ = 'bar';
( function() {
alert(__foo__); //alerts bar
})();
我对这种方法有几个问题
我试过的:
- 将 Bing 用于教程(我找到了它们,但其中许多没有回答我的问题)
- 将物体传递到身体中
- 在这里找到答案
但是,我还在用头撞墙
所以问题是:
我见过人们将对象作为参数传递,但是什么时候有意义呢?例如,它是什么意思?
( function(window) { })(document);
我在 Jquery UI Lib 中看到了这样的东西
( function($) { //some code of widget goes here })(Jquery);
这使得内部代码在函数外部可见,对吗?(不确定)为什么,这是因为我们可以访问对象(比如我们有“模态”小部件),只需调用它,
像:
$(function(){
$("#some_div").modal(); //here it's object the we got from the function
});
第二个问题是:它是如何工作的。