js自执行匿名函数用法

发布时间:2019-11-11编辑:脚本学堂
本文介绍了javascript中自执行匿名函数的用法,javascript中自执行匿名函数可以用于创建命名空间,只要把代码都写在这个特殊的函数包装内,那么外部就不能访问,除非允许。

javascript中的自执行匿名函数
格式:
 

(function(){
//代码
})();
 

解释:
包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。

一个带参数的例子:
 

(function(arg){
alert(arg+100);
})(20);
// 这个例子返回120。


重要用途:
可以用它创建命名空间,只要把所有代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许。
 

(function(){
function $(id){
return document.getElementById(id);
}
function __addClass(id,className,classValue){
$(id).style.className=classValue;
}
window['mySpace']={};
window['mySpace']['addClass']=__addClass;
})();

以上例子,就可以用这种伪命名空间封装并保护自己的所有函数、对象和变量。

而且,由于它们位于同一个函数中,所以可以互相引用。
为了对受保护的代码进行全局化,随后的一对括号告诉浏览器立即执行返回的匿名函数,而且在执行期间将__addClass()赋值给了window的一个方法,这样在外部只能执行addClass而__addClass被保护起来了。

调用:
 

mySpace.addClass('oneId','font-width','bold')