匿名函数与闭包

转自匿名函数与闭包的区别

匿名函数
没有函数名称的函数;

function(argument1,argument2){}

闭包
一个可以使用另外一个函数作用域中的变量的函数,或者说是函数调用返回后一个没有释放资源的栈区;详细参考学习Javascript闭包(Closure)
如下面的代码函数b就是闭包,但是这个前提是:当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个我们通常所谓的“闭包”。意思是说b要变成闭包的话,就必须被外包所引用,即c引用:

function a(){ 
    var i=1; 
    function b(){++i;return i; }
    return b;
}
var c=a();
alert(c());

你可能感兴趣的:(匿名函数与闭包)