为了账号安全,请及时绑定邮箱和手机立即绑定

闭包函数的一个简单测试疑惑

闭包函数的一个简单测试疑惑

沧海一幻觉 2018-08-07 17:10:06
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之后,再输出该值

查看完整回答
反对 回复 2018-08-11
  • 2 回答
  • 0 关注
  • 948 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信