增加for循环javascript

increment in for loop javascript

本文关键字:javascript 循环 for 增加      更新时间:2023-09-26

我不知道为什么,但是我不能在for循环中正常地增加值。

for (var i = 0; i < 5; i++) {
var number= 0
number++
console.log(number);
}

这是一个简单的例子,我在控制台得到5倍的数字1,而不是0,1,2,3,4。我怎样才能做到呢?

在循环内声明变量,因此每次循环运行时都会发生。只需将声明移到外面…

var number = 0;
for (var i = 0; i < 5; i++) {
    number++;
    console.log(number);
}

它打印1,1,1,1,1,因为您在每次迭代中重置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

您一直将number的值重置为0。尝试在循环之前设置它:

var number= 0
for (var i = 0; i < 5; i++) {
    console.log(number);
    number++
}

你可以这么做

<script>
var number = 0;
for (var i = 0; i < 5; i++) {
    number++;
    console.log(number);
    alert(number)
}
</script>

代码的问题是,您在for循环中声明number变量,因此每次迭代都会将其重新初始化为0。要解决这个问题,应该在循环开始之前在循环外部声明number变量。下面是更正后的代码:

for (var i = 0; i < 5; i++) {
  number++;
  console.log(number);

通过此更改,number变量将在迭代期间保持其值,并且您将在控制台中看到预期的输出0、1、2、3、4。

如果你只想在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++);
}