引用参考博客1的说法,匿名函数:就是没有名字的函数,这在js中是被允许的。
一、运用场合:
1、 var area= function(x,y){
console.log(x*y);
return x*y;
}
其实,若在控制台中键入:typeof(area);
得到的结果为: "function"
其实浏览器解析area就指代了匿名函数的“名称”。即“=”的右边代表一个匿名函数。
上面的定义等价于
function area(x,y)
{
console.log(x*y);
return x*y;
}
2、立即执行函数中会运用
立即执行函数的形式: (function(){})();
从上面的形式可以看出,其实立即函数的代码执行体里面就函数可以是匿名函数。
例如:
(1)匿名情况:
(function (i){console.log("这是个立即执行函数"+i)})(0);
输出:这是个立即执行函数0
(2)非匿名情况:
(function name(i){console.log("这是个立即执行函数"+i)})(1);
输出:这是个立即执行函数1
小结:从上面看,立即执行函数中的函数体可以是匿名函数,也可以是非匿名函数,并不会影响到其中的执行。
并且在函数体外部,我们均无法访问到立即执行中的非匿名函数,所以,我们习惯性在立即执行函数中用匿名函数的形式;
Reference:
1、http://www.cnblogs.com/rainman/archive/2009/05/04/1448899.html