javascript中的自执行匿名函数
2012-09-06 11:14
225 查看
格式:
(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');
(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');
相关文章推荐
- javascript 匿名自执行函数
- JavaScript匿名、具名函数与立即执行函数IIFE详解
- JavaScript基础之匿名立即执行函数
- (面向c#开发人员) 编写javascript的好习惯九 匿名自执行函数
- JavaScript立即执行函数
- 动态执行 javascript 函数(带参数)
- 浅析javascript中的函数及执行环境
- 学习javascript的闭包,原型,和匿名函数之旅
- 学习javascript的闭包,原型,和匿名函数之旅
- 深入理解javascript中的立即执行函数(function(){…})()
- javascript针对不确定函数的执行方法
- JavaScript中OnLoad几种使用方法,onload 后面执行的函数不能加括号 加了就立即执行。
- 详解javascript立即执行函数表达式(IIFE)
- JavaScript中匿名、命名函数的性能测试
- JavaScript立即执行函数的解释分析(4)—总结篇
- JavaScript中的匿名函数及函数的闭包
- JavaScript中的匿名函数及函数的闭包
- 匿名自执行函数
- javascript Function对象的length属性及js函数的预执行
- javascript异步执行函数导致的变量变化问题解决思路