首页 > 代码库 > 从自增开始遇到的一个问题

从自增开始遇到的一个问题

一个计数器:

1 function add(){2     var a = 0;3     alert(a++);4 }5 add();// 06 add();// 07 add();// 0

原本想的是每次调用就自增,但是每次调用后都是弹出0;

接下来用到闭包:

 1 var add = a(); 2  3 function a(){ 4     var a = 0; 5     return function (){ 6         alert(a++); 7     } 8 } 9 10 add();// 011 add();// 112 add();// 2

经过这样处理后就可以,显然还可以利用匿名函数简化:

1 var add = (function (a){2     return function (){3         alert(a++);4     }5 })(0)6 7 add();// 08 add();// 1 9 add();// 2

 

从自增开始遇到的一个问题