我在一次采访中遇到了这个问题,我想不通。
预期输出为:
1
2
3
4
代码:
for(var i =0; i< 4; i++){
console.log(next());
}
问题是要实现功能next()
;
面试官最后给了我答案,但我不记得了。我不知道next()如何找出上一个next()调用的更早状态;
我记得解决方案是返回一个函数,并使用闭包,但是当再次调用next()时,这如何帮助我跟踪计数器。
他还说,您不必在乎每次迭代中我是什么
答案 0 :(得分:0)
var next = (function () {
var num = 0;
return function() {
num += 1;
return num
}
})()
for(var i =0; i< 4; i++){
console.log(next());
}