Javascript 谁能解释一下为什么在运行todos.pop()之后i=1而不是0;
我正在学习Javascript中的“循环” 谁能解释一下为什么在运行todos.pop()之后i=1而不是0Javascript 谁能解释一下为什么在运行todos.pop()之后i=1而不是0;,javascript,Javascript,我正在学习Javascript中的“循环” 谁能解释一下为什么在运行todos.pop()之后i=1而不是0 for(变量i=0;i
for(变量i=0;i
var i=0
-表示在第一次迭代中,i
将0
i
-表示循环将继续,直到i
变得大于或等于todos.length
。例如,如果您有5个待办事项,则todo.length
将为5
。因此,循环将适用于i=0
、1
、2
、3
和4
。但是由于5
不小于5
,所以它不会运行第六次迭代i++
-表示每次迭代后,i
将增加1。迭代-是循环体中的内容<代码>todos.pop()在本例中i=1
,这意味着您的todos
数组中有1(或2)个项目,并且循环只迭代了一次。像这样:
i=0
i
?=是i<1
?=是0<1
?-是的,运行循环体todos.pop()
)i++
,现在i=1
i
?=是i<0
(因为您pop
ed了todos中的项目,所以现在长度为零)?=是1<0
?-不,终止循环i
每次迭代的增量todos.pop()
不影响i
,但会减少todos.length
循环将弹出数组中一半的元素,因为每次迭代
i
都会增加,但todos.length
会减少。假设todos中有一个元素。这就是将会发生的事情
什么是
todos
?@RoboRobok我认为todos
可能是for循环正在使用的数组?@GalaxyCat105这是肯定的,但我们不知道有多少元素可以解释它。我想这是因为todos
在循环之前有一个元素。不确定你的困惑是什么。
for (var i = 0; i < todos.length; i++) {
todos.pop();
}