匿名函数与普通函数的区别

2,315 阅读1分钟
匿名函数:如 var a=function(){ return 1 };

此函数function 没有函数名,但是它将值赋给了变量 a

普通函数: function abc(){ return 1 };

此函数声明了一个名为abc的函数。

区别

因为非匿名函数在定义时,就已经创建函数对象和作用域对象;所以,即使未调用,也占用内存空间;

匿名函数,仅在调用时,才临时创建函数对象和作用域链对象;调用完,立即释放,所以匿名函数比非匿名函数更节省内存空间

匿名函数的应用

回调函数:将一个函数作为另一个函数的参数叫做回调函数

function fn(num1,num2){ console.log(num1()+num2()); }

fn(function(){return 1;}),function(){return 2;};

自调函数:定义一个匿名函数即自调。

( function(num1,num2){ console.log(num1+num2); })(100,200);