Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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/1/visual-studio-2012/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 - Fatal编程技术网

Javascript 为什么我有一个无限循环?

Javascript 为什么我有一个无限循环?,javascript,Javascript,我正在学习javascript,我不明白为什么这段代码会创建一个无限循环 for (var i = 8 ; i < 120; i+12) { console.log(i * 1); } for(变量i=8;i=120时终止,因为i+12不会递增并将递增的值存储在i中。所以i的值总是8。当i=i+12递增并将值存储在i中时,当i>=120时循环终止。您需要使用i+=12检查JavaScript的 for (var i = 8 ; i < 120; i +=12) {

我正在学习javascript,我不明白为什么这段代码会创建一个无限循环

for (var i = 8 ; i < 120; i+12) {
    console.log(i * 1);
}
for(变量i=8;i<120;i+12){
控制台日志(i*1);
}

如果我把
I
赋值为
I=I+12
,那么一切都会正常工作。请解释一下这里发生了什么。

你需要
i+=12
来做作业,而不仅仅是
i+12
(这是一个简单的表达式)。

你需要
i+=12
来做作业,而不仅仅是
i+12
(这是一个简单的表达式).

因为
i+12
递增并将递增的值存储在
i
中。所以
i
的值总是
8
。当
i=i+12
递增并将值存储在
i
中时,循环在
i>=120
时终止,因为
i+12
不会递增并将递增的值存储在
i
中。所以
i
的值总是
8
。当
i=i+12
递增并将值存储在
i
中时,当
i>=120
时循环终止。您需要使用
i+=12
检查JavaScript的

for (var i = 8 ; i < 120; i +=12) {
    console.log(i * 1);
}
for(变量i=8;i<120;i+=12){
控制台日志(i*1);
}

您需要使用
i+=12
查看JavaScript的

for (var i = 8 ; i < 120; i +=12) {
    console.log(i * 1);
}
for(变量i=8;i<120;i+=12){
控制台日志(i*1);
}

您将了解到JavaScript做了一些不可靠和可疑的事情

我从未见过使用for循环设置的参数的用例,但我假设您知道默认值

无论如何,你们所做的并不是将i增加12,所以它将继续循环,因为i实际上从未增加


操作符+=应该这样做,因为它将接受前面的值i,并向其中添加12。

您将了解到JavaScript做了一些不可靠和可疑的事情

我从未见过使用for循环设置的参数的用例,但我假设您知道默认值

无论如何,你们所做的并不是将i增加12,所以它将继续循环,因为i实际上从未增加


操作符+=应该这样做,因为它将取i的上一个值,并将其加上12。

它的
i+=12
不是
i+12
是的,你的增量根本不是增量。它的
i+=12
不是
i+12
是的,你的增量根本不是增量。