闭包的两种经典用法(新手级)

时间:2022-06-29 17:36:30

代码1:记录函数被调用的次数(计数器)


    function a()  
{
var i = 0;
function b()
{
return ++i;
}
return b;
}

var c = a();
c();//1
c();//2

这种方式类似C语言中的private static变量,能够保持局部变量的内存不释放。

 


代码2:正确给DOM注册事件处理函数

    function a()  
{
var i = 0;
function b()
{
return ++i;
}
return b;
}

var c = a();
c();//1
c();//2