Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这个for循环是如何工作的?对于(;i<;length;i+;+;)_Javascript_Loops - Fatal编程技术网

Javascript 这个for循环是如何工作的?对于(;i<;length;i+;+;)

Javascript 这个for循环是如何工作的?对于(;i<;length;i+;+;),javascript,loops,Javascript,Loops,这个for循环是如何工作的?这对我来说毫无意义 for ( ; i < length; i++ ) { (;i或代码> ~~//>也很有趣。哈,但我当时实际上正在学习C++(第一编程语言)。,而不是JavaScript!;-)那么,为什么人们更喜欢编写这个而不是简单的while循环呢?@nl-x:这一点很好。它更紧凑,虽然可读性稍差;但是,如果目的是为循环创建一个正常的,并且恰好不需要初始化步骤,那么我认为使用该表单没有什么错。真正的如果循环体中有一个continue,则会产生差异--f

这个for循环是如何工作的?这对我来说毫无意义

for ( ; i < length; i++ ) {
(;i{
只要
i
小于
length
,循环就会重复。它只是假设
i
已经在别处声明

实际上,
for
循环构造中的所有部分都是可选的。例如,这是创建无限循环的一种非常有效的方法:

​for(;;) window.alert('Are you sick of alerts yet?');​​​​​​​​​

这是一个常规的
for
循环,在初始化步骤中什么都不做

这相当于写:

;
while (i < length) {
    // ...
    i++;
}
;
while(i

除非在
..
正文中有
continue
,在这种情况下,
for
循环将在重新评估条件之前执行
i++
,而
while
循环将不会执行。

+1 for
for(;)
,这将从我意识到
while(true)之前带回记忆
更易读(出于某种原因,我被介绍给(;;)
作为创建无限循环的标准方法)…是的,JavaScript是一种独特的语言,因为这些黑客快捷方式在某种程度上被鼓励只是为了在线路上保存字节。否则,
while(true)当然更容易阅读。用<代码> >!< <代码> >或代码> ~~//>也很有趣。哈,但我当时实际上正在学习C++(第一编程语言)。,而不是JavaScript!;-)那么,为什么人们更喜欢编写这个而不是简单的
while
循环呢?@nl-x:这一点很好。它更紧凑,虽然可读性稍差;但是,如果目的是为
循环创建一个正常的
,并且恰好不需要初始化步骤,那么我认为使用该表单没有什么错。真正的如果循环体中有一个
continue
,则会产生差异--
for
表单递增,但是
while
表单不递增。我编辑了我的答案以反映这一点,谢谢。对不起,我没有看清楚。我想
I++
部分也被省略了,例如
for(;i@nl-x:嗯,太棒了!