当前位置: 移动技术网 > IT编程>开发语言>JavaScript > js闭包计数器及闭包的思考

js闭包计数器及闭包的思考

2019年11月28日  | 移动技术网IT编程  | 我要评论
//定义自增计数器,初始值是0,步长是1 var add = (function(){ var counter =0; return function () {counter += 1; return counter;} })(); //调用,每次自增1 add(); //值为1 add(); //... ...
//定义自增计数器,初始值是0,步长是1
var add = (function(){
  var counter =0;
  return function () {counter += 1; return counter;}
})();

//调用,每次自增1
add(); //值为1
add(); //值为2
add(); //值为3

 

  为什么只有第一次调用add()时会初始化counter的值呢?思考良久,对比c#里面的类,觉得应该是这样的:
  第一次执行add()时,无实例,然后就会初始化,而以后再执行add()时,已经有了实例了,只是执行默认的返回函数。
  不一定对,不过应该有助于记忆。

 





                    
                    

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网