在阅读博客时,我遇到了一个无限循环的情况,但我不明白为什么,如果我们尝试使用代码
for (a=5; a < 10; a+1){
console.log(a);
}
这是一个无限循环,但是下面它运行良好
for (a=5; a < 10; a++){
console.log(a);
}
主要区别是什么?
答案 0 :(得分:8)
部分
for (a = 5; a < 10; a + 1) {
// ^^^^^
不会更改a
您需要作业
for (a = 5; a < 10; a = a + 1) {
// ^^^
如果您使用a++
,则会解析为a = a + 1
运营商++
是increment operator。
答案 1 :(得分:3)
This is an example
向a++
添加一个,将结果存储在a
.¹
a
只需向a + 1
添加一个,,不用将结果存储在a
中。 (例如,您可以将结果值用于其他内容:a
。)
在b = a + 1
的“更新”(增量)部分中,您想要修改循环变量。所以你想要for
(或a++
),而不是++a
。
¹具体来说,a + 1
(后缀增量)读取a++
的值,向a
添加一个,然后生成a
先前的值是表达式的结果。因此a
向我们留下了a = 1; b = a++;
和b == 1
。
还有a == 2
(前缀增量),其中一个添加到++a
,然后使用{{1}中的结果值作为表达式的结果。因此a
向我们留下了a
和a = 1; b = ++a;
。
这有点直观地表示:在b == 2
中,a == 2
是第一个,增量在之后,实际上在a++
增加之前它的结果值为a
。在a
中,首先是增量,然后是++a
,这也表示我们得到的结果。
答案 2 :(得分:1)
问题是a + 1部分。 a + 1只返回a + 1的值。它不会影响到任何东西。 a ++实际上返回a然后递增它。
答案 3 :(得分:0)
第一个循环没有递增一个变量a+1
,正确的是a=a+1
:
for (a=5; a < 10; a=a+1){
console.log(a);
}
答案 4 :(得分:0)
a ++表示a = a + 1 而a + 1不会将值存储在a中 这意味着一个遗嘱仍然永远是
答案 5 :(得分:-1)
这是因为它说: a是0;只要它小十,就会循环;那么1(因为0 + 1)
您需要添加<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<script src="https://seikichi.github.io/tmp/PDFJS.0.8.715/pdf.min.js"></script>
<canvas id="c" style="border:1px solid black"></canvas>
或a++
答案 6 :(得分:-3)
在第一个例子中,你没有增加a的值 for(a = 5; a&lt; 10; a + 1&lt; --- a + 1不是如何将1加到一个值 你可以使用++