一、匿名函数
1、基本概念
字面上理解,匿名函数就是没有名字的函数。这么解释,大概还是有点迷糊的感觉。我们不妨从匿名函数的好处(或许也是坏处,看怎么用)来理解它:匿名函数是一个没有名字的function对象,它可以避免全局变量带来的污染。字面上理解,匿名函数就是没有名字的函数。
1)普通函数
function box()
{
return 'joker';
}
alert(box());
2)匿名函数
function()
{
return 'joker';
}
从上面的两个函数可以看出来,匿名函数最直观的特点就是没有名字。函数名显式显示的函数我们调用起来很简单,那么对于函数名隐式显示(根本不存在函数名)的函数,我们怎么调用呢?请看下面的例子。
2、调用
1)通过变量赋值的方式
var box=function ()
{
return '将匿名函数赋值给变量';
}; //此处的分号属于变量box
// var box =function(); //需要注意的是在通过变量赋值的方式调用匿名函数的时候,只能在建立匿名函数的同时给变量赋值
alert(box());
2)将返回值赋值给变量
var box=(function()
{
return '将匿名函数的返回值赋给变量';
})();
alert(box );
通过1)和2)这两个例子可以看出来,通过变量赋值的方式调用匿名函数,可以说有两种方法,一种将函数体赋值给变量,另一种将返回值赋值给变量。
3)自我执行
(function()
{
alert('匿名函数自我执行');//将需要的功能直接写在这里
})(); //第一对圆括号放匿名函数,第二对圆括号执行匿名函数
4)通过执行匿名函数的自我执行体调用匿名函数
alert((function()
{
return '执行匿名函数的自我执行体执行匿名函数';
})());
通过3)和4)可以看出来和通过变量赋值的方式调用匿名函数雷同,通过自我执行体调用匿名函数一样有两种类似的方案
3、传参
(function(age)
{
alert(age);
})(24);
匿名函数的传参如上,这里想说的是小括号。小括号能把我们的表达式分块,需要注意的是每对小括号都必须要有自己的返回值。
匿名函数先说到这里,下篇博客结合闭包再学习匿名函数。
感谢您的宝贵时间,祝生活愉快,谢谢。