当(k+1)用作k(变量)值时,为什么循环中的&CONTINUE&QOOT;函数抛出错误?

2022-08-19 00:00:00 javascript do-while continue

我希望你们做得很好 我正在学习Java脚本 我了解了我们可以在循环中用于迭代的&CONTINUE&QOOT;。 但这是我不能理解的

首先看一下代码:

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
let k = 1

do {
  if (k === 9) {
    k++;
    continue;
  }
  console.log(k + 1);
  k++;
} while (k < 15);

如果在console.log中为(k+1),则打印9,缺少10。 找不到原因?

但当使用此代码时

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
let k = 1

do {
  if (k === 9) {
    k++;
    continue;
  }
  console.log(k);
  k++;
} while (k < 15);

如果在console.log中为(K),则不打印9,打印10。

无法理解何时使用简单(K)和何时使用(k+1)背后的逻辑?

这就是我所理解的。如果K=1.console.log(k+1)。2已打印。然后由于k++。K变为2,条件被测试,当它为真时,它将移动到另一个循环。而且这种情况还在继续。对吗?

谢谢


解决方案

在第一个示例中,您记录的是k+1的值,因此,当k为1时,它会记录值2(1+1),当k为2时,它会一直记录值3(2+1),直到k为8并记录9(8+1)。但是,当k为9时,k仍会递增,k+1为10,但这不会被记录下来,因为会跳过循环的其余部分。

在第二个示例中,您正在执行完全相同的操作,但记录的值为k而不是k+1,因此所有记录的值都少了1。

您是否也可以解释console.log(k+1)&qot;下的k++

在这两种情况下,在块的末尾、console.log之后或continue之前的if (k === 9)块内的循环周围,k的值每次递增1

相关文章