我无法让这段代码工作,它应该运行两次但是当我检查控制台时,它会无限运行。为什么a
没有增加?
var a=1;
(function man() {
console.log('foo');
for (;a<3;a++){
console.log(a);
man();}
})();
如果我重写代码,它运行得很好。
var a=1;
(function man() {
console.log('foo');
for (;a<3;){
a++;
console.log(a);
man();}
})();
答案 0 :(得分:0)
在第一个例子中,第三部分('a'增量部分)仅在完成由于递归调用而永远不会发生的迭代之后才执行。第二个例子,它在迭代开始时增加