我不知道为什么,但我不能正常地在for循环中增加值。
for (var i = 0; i < 5; i++) { var number= 0 number++ console.log(number); }
这是一个简单的例子,我在控制台中得到5乘以数字1,而不是0,1,2,3,4。我该怎么做?
kgsdhlau1#
你在循环中声明变量,所以每次循环运行时都会发生。只要把宣言移到外面。。
var number = 0; for (var i = 0; i < 5; i++) { number++; console.log(number); }
k7fdbhmy2#
它打印1,1,1,1,1,因为在每次迭代中重置number。将您的代码更改为:
number
for (var i = 0; i < 5; i++) { console.log(i); }
或
var number = 0; for (var i = 0; i < 5; i++) { console.log(number); number++; }
(对注解中的附加问题的回答)您得到1,2,3,4,5,因为在打印之前递增了number。
vawmfj5a3#
您不断将number的值重置为0。尝试在循环之前设置它:
var number= 0 for (var i = 0; i < 5; i++) { console.log(number); number++ }
h9vpoimq4#
你能做到的
<script> var number = 0; for (var i = 0; i < 5; i++) { number++; console.log(number); alert(number) } </script>
ycggw6v25#
如果只想在0到5的范围内迭代,可以使用“i”变量。
for (let i=0; i<5; i++) { console.log(i); }
但是如果你出于某种原因需要使用另一个变量,比如你将其命名为“number”,在JavaScript中你也可以这样写
let number = 0; for (let i=0; i<5; i++) { console.log(number++); }
for (let i=0, number=0; i<5; i++) { console.log(number++); }
gtlvzcf86#
代码的问题在于,您在for循环中声明了number变量,因此每次迭代都会将其重新初始化为0。要解决这个问题,您应该在循环开始之前在循环外部声明number变量。下面是正确的代码:
for (var i = 0; i < 5; i++) { number++; console.log(number);
通过这种更改,number变量将在迭代过程中保持其值,并且您将在控制台中看到预期的输出0、1、2、3、4。
6条答案
按热度按时间kgsdhlau1#
你在循环中声明变量,所以每次循环运行时都会发生。只要把宣言移到外面。。
k7fdbhmy2#
它打印1,1,1,1,1,因为在每次迭代中重置
number
。将您的代码更改为:
或
(对注解中的附加问题的回答)您得到1,2,3,4,5,因为在打印之前递增了
number
。vawmfj5a3#
您不断将
number
的值重置为0。尝试在循环之前设置它:h9vpoimq4#
你能做到的
ycggw6v25#
如果只想在0到5的范围内迭代,可以使用“i”变量。
但是如果你出于某种原因需要使用另一个变量,比如你将其命名为“number”,在JavaScript中你也可以这样写
或
gtlvzcf86#
代码的问题在于,您在for循环中声明了number变量,因此每次迭代都会将其重新初始化为0。要解决这个问题,您应该在循环开始之前在循环外部声明number变量。下面是正确的代码:
通过这种更改,number变量将在迭代过程中保持其值,并且您将在控制台中看到预期的输出0、1、2、3、4。