1

这是一种什么样的设计模式,使用这个闭包有什么意义?

(function(){
    // my code here
}).call(this); 

编辑

那么上面的代码和下面的代码有什么区别,因为this关键字仍然会以两种方式引用同一个对象。

(function(){
    // my code here
})(); 
4

1 回答 1

7

那是一个立即调用的函数表达式。

更多信息在这里:http ://benalman.com/news/2010/11/immediately-invoked-function-expression/

目的是在保护范围的同时立即运行代码(因此在其中声明的变量不会泄漏到全局范围。

更新

callthis为其应用的函数设置 的值。没有它,该值被设置为窗口对象,在那里它被设置为外部范围。

于 2013-07-10T19:36:59.077 回答