为什么当 (k+1) 用作 k(变量)值时,循环中的“继续”函数会抛出错误?

Beh*_*age 1 javascript continue do-while

我希望你们做得很好,我正在学习 Javascript,我了解了“继续”,我们可以在循环中使用它进行迭代。但这是我无法得到的

首先看一下代码:

let k = 1

do {
  if (k === 9) {
    k++;
    continue;
  }
  console.log(k + 1);
  k++;
} while (k < 15);
Run Code Online (Sandbox Code Playgroud)

当console.log中的值为(k+1)时,则打印9,而漏掉10。不明白为什么?

但是当使用这段代码时

let k = 1

do {
  if (k === 9) {
    k++;
    continue;
  }
  console.log(k);
  k++;
} while (k < 15);
Run Code Online (Sandbox Code Playgroud)

当console.log中为(k)时,不打印9而打印10。

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

这就是我所理解的。如果K=1。控制台.log(k+1)。2 被打印。然后由于 k++。k 变为 2 并且条件经过测试,由于它为真,因此它将移动到另一个循环。这种情况还在继续。正确的?

谢谢

Bar*_*mar 6

continue跳过循环体的其余部分并开始循环的下一次迭代(如果条件while仍然为真)。

在这两个代码片段中,当 时执行此操作k == 9,因此它会跳过调用 的代码console.log()

在第一个版本中,它记录k+1. 所以当k == 9它跳过打印时10

在第二个版本中,它记录k. 所以当k == 9它跳过打印时9