我有一个for循环遍历所有项目:
for (i=0; i < this.widgets.length; i++) {
this.changeWidgetArray(this.widgets[i]);
}
Run Code Online (Sandbox Code Playgroud)
在for循环中,对于每个元素,我调用"changeWidgetArray".在这种方法中,改变了上面的"小部件" - 阵列."changeWidgetArray"中的数组更改是否会影响循环迭代?
我的问题是:
目前,当迭代从第一个项开始时,整个数组的所有元素都被"收集",或者JavaScript在下一个迭代步骤开始之前逐个动态地获取.
或者这取决于JavaScript的实现?这是在ECMA-Script规范中定义的吗?
非常感谢提前
是的:
for (i=0; i < this.widgets.length; i++) {
this.changeWidgetArray();
}
Run Code Online (Sandbox Code Playgroud)
不:
for (var i=0, max=this.widgets.length; i < max; i++) {
this.changeWidgetArray();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |