标签:
一个计数器:
1 function add(){ 2 var a = 0; 3 alert(a++); 4 } 5 add();// 0 6 add();// 0 7 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();// 0 11 add();// 1 12 add();// 2
经过这样处理后就可以,显然还可以利用匿名函数简化:
1 var add = (function (a){ 2 return function (){ 3 alert(a++); 4 } 5 })(0) 6 7 add();// 0 8 add();// 1 9 add();// 2
标签:
原文地址:http://www.cnblogs.com/busyrat/p/5908424.html