这是一种什么样的设计模式,使用这个闭包有什么意义?
(function(){
// my code here
}).call(this);
编辑
那么上面的代码和下面的代码有什么区别,因为this
关键字仍然会以两种方式引用同一个对象。
(function(){
// my code here
})();
这是一种什么样的设计模式,使用这个闭包有什么意义?
(function(){
// my code here
}).call(this);
那么上面的代码和下面的代码有什么区别,因为this
关键字仍然会以两种方式引用同一个对象。
(function(){
// my code here
})();
那是一个立即调用的函数表达式。
更多信息在这里:http ://benalman.com/news/2010/11/immediately-invoked-function-expression/
目的是在保护范围的同时立即运行代码(因此在其中声明的变量不会泄漏到全局范围。
call
this
为其应用的函数设置 的值。没有它,该值被设置为窗口对象,在那里它被设置为外部范围。