定义一个函数用做临时的命名空间,在这个命名空间内定义的变量都不会污染到全局命名空间,需要的朋友可以参考下
js中常常定义一个函数用做临时的命名空间,在这个命名空间内定义的变量都不会污染到全局命名空间(防止局部变量与全局变量冲突)。
复制代码 代码如下:
function mymodule(){
//模块代码
}
mymodule();
可以简写为:
复制代码 代码如下:
(function(){ //mymodule()函数重写为匿名的函数表达式
//模块代码
}( )<span>)</span>; //结束函数定义并立即调用它
或者:
复制代码 代码如下:
(function(){
}<span>)</span>();
这种定义匿名函数并立即调用(自调用匿名函数)的写法已经非常常见,开始让人有点摸不着头脑,jquery的源码就是这样写的:
复制代码 代码如下:
(function( window, undefined ) {
//jquery的所有代码
})( window );
您可能感兴趣的文章: