var uniqueInterger = (function(){ var counter = 0; return function(){ return counter++; }; }()); console.log(uniqueInterger());这里返回值是0,为什么不是1呢?
2 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
这里不是闭包的问题,而是counter++
和++counter
的区别的问题
counter++是先使用counter值,然后再自增,也就是说在执行函数时,先输出counter为0,然后counter自增变成1。
如果你将counter++改成++counter就会成功的输出1,因为是先counter自增变成1之后,再输出该值
添加回答
举报
0/150
提交
取消