【发布时间】:2012-04-24 04:06:19
【问题描述】:
这个 for 循环是如何工作的?这对我来说没有意义。
for ( ; i < length; i++ ) {
【问题讨论】:
标签: javascript loops
这个 for 循环是如何工作的?这对我来说没有意义。
for ( ; i < length; i++ ) {
【问题讨论】:
标签: javascript loops
只要i 小于length,循环就会重复。它只是假设 i 已经在别处声明。
实际上,for 循环结构中的所有部分都是可选的。例如,这是创建无限循环的一种完全有效的方法:
for(;;) window.alert('Are you sick of alerts yet?');
【讨论】:
for (;;),这让我想起了在我意识到 while (true) 更清晰之前的记忆(出于某种原因,我被介绍给 for (;;) 作为创建无限循环的规范方式)...
while(true) 肯定更容易阅读。用!! 或~~ 投射也很有趣..
这是一个常规的for 循环,在初始化步骤中什么都不做。
这相当于写:
;
while (i < length) {
// ...
i++;
}
除非... 主体中有continue,在这种情况下for 循环会在重新评估条件之前执行i++,而while 循环不会。
【讨论】:
while 循环呢?
for 循环,并且恰好不需要初始化步骤,那么我认为使用该表单没有任何问题。如果循环体内有一个continue,那么真正的区别就会出现——for 表单会递增,但while 表单不会。我已经编辑了我的答案以反映这一点,谢谢。
i++ 部分也被省略了,例如for (;i<length;) 我的问题是为什么这比写一个简单的while (i<length) 更受欢迎?例如,我在 jquery 库中看到过这个装置。