javascript for循环中的增量

qvsjd97n  于 2023-06-20  发布在  Java
关注(0)|答案(6)|浏览(125)

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

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

这是一个简单的例子,我在控制台中得到5乘以数字1,而不是0,1,2,3,4。我该怎么做?

kgsdhlau

kgsdhlau1#

你在循环中声明变量,所以每次循环运行时都会发生。只要把宣言移到外面。。

var number = 0;

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

k7fdbhmy2#

它打印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

vawmfj5a

vawmfj5a3#

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

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

h9vpoimq4#

你能做到的

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

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++);
}
gtlvzcf8

gtlvzcf86#

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

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

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

相关问题