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
Javascript无限循环_Javascript_Loops_For Loop_Infinite Loop - Fatal编程技术网

Javascript无限循环

Javascript无限循环,javascript,loops,for-loop,infinite-loop,Javascript,Loops,For Loop,Infinite Loop,我正在学习javascript中的循环,并尝试一些我编写的基本代码 这段代码生成一个无限循环,它只在控制台中无限期地打印数字4 问题是,我不明白这背后的逻辑以及它发生的确切原因 for(let i = 0; i = 4; i++){ console.log(i); } i=4是返回4的表达式,4是真值,因此条件永远不会变为假,循环永远不会结束 console.log(i=4)//4. log(布尔值(i=4))//truei=4是返回4的表达式,4是真值,因此条件永远不会变为false

我正在学习javascript中的循环,并尝试一些我编写的基本代码

这段代码生成一个无限循环,它只在控制台中无限期地打印数字4

问题是,我不明白这背后的逻辑以及它发生的确切原因

for(let i = 0; i = 4; i++){
   console.log(i);
}

i=4
是返回
4
的表达式,
4
是真值,因此条件永远不会变为假,循环永远不会结束

console.log(i=4)//4.

log(布尔值(i=4))//true
i=4
是返回
4
的表达式,
4
是真值,因此条件永远不会变为false,循环永远不会结束

console.log(i=4)//4.

log(布尔值(i=4))//true
在循环中,条件部分使用一个
=
,您应该使用一个,例如
==。还要注意,条件应该为false,以便退出for循环。所以
==
它是(或
在您的循环中,条件部分使用
=
,您应该使用一个,例如
!=
。还要注意,要退出for循环,条件应该是false。因此
!=
它是(或
i=<4
要打印最多4个数字,第二个表达式必须是布尔条件,但您的表达式是赋值(这是真的)。因此它会永远循环。或
i=<4
要打印最多4个数字,第二个表达式必须是布尔条件,但您的表达式是赋值(这是真的).所以它永远循环。