匿名函数可以有效的保证在页面中写入Javascript,而不会造成全局变量的污染。那么什么是“匿名函数”呢?从字面理解就是没有名字的函数。此时大家会有个疑问,函数没有名字该如何调用执行呢,那么我们通过下面的例子进行理解:
//普通函数
function box(){ //函数名是box
return '你好';
}
//匿名函数,无函数名称
function(){ //单独的匿名函数,是无法运行的,无名称也无法调用
return 'Lee'; //匿名函数,会报错
}
//把匿名函数赋值给变量
var box=function(){ //将匿名函数赋给变量
return '你好';
};
alert(box()); //调用方式和普通函数调用相似
//通过自我执行来执行匿名函数
(function(){ //封装成表达式 //(匿名函数)();
alert('你好');
})(); //()表示执行函数,并且传参
//把匿名函数自我执行的返回值赋给变量
var box=(function(){
return '你好';
})();
alert(box) //弹出“你好”
//自我执行匿名函数的传参
(function(age){
alert(age); //弹出100
})(100); //在括号中进行传参
//函数里的匿名函数
function box(){ //普通函数
return function(){ //匿名函数
return '你好'; //函数里的匿名函数,产生闭包
}
}
alert(box()); //弹出匿名函数
alert(box()()); //弹出 “你好”