当 (k+1) 用作 k(变量)值时,为什么循环中的 "continue" 函数会抛出错误?
Why "continue" function in loop throws error when (k+1) is used as k (variable) value?
希望你们一切顺利
我在学习Javascript
我了解了“continue”,我们可以在循环中使用它进行迭代。
但这是我无法得到的
先看看代码:
let k = 1
do {
if (k === 9) {
k++;
continue;
}
console.log(k + 1);
k++;
} while (k < 15);
当在console.log中是(k+1)then时,打印了9,漏掉了10。
不明白为什么?
但是当使用这个代码时
let k = 1
do {
if (k === 9) {
k++;
continue;
}
console.log(k);
k++;
} while (k < 15);
当inconsole.log为(k)then时,不打印9,打印10。
看不懂简单(k)和(k+1)时的逻辑?
这就是我的理解。即如果K=1。 console.log(k+1)。 2 被打印出来。然后由于 k++。 k 变成 2 并且条件被测试并且因为它是真的所以它将移动到另一个循环。这还在继续。对吗?
谢谢
那是因为在您的逻辑中,如果 k === 9
,您将 +1 添加到 k
,然后将其记录到控制台,这使得 9 不可见。您应该记录它,然后添加 k++
.
continue
跳过循环体的其余部分并开始循环的下一次迭代(如果 while
条件仍然为真)。
在这两个代码片段中,您在 k == 9
时执行此操作,因此它会跳过调用 console.log()
.
的代码
在第一个版本中,它记录 k+1
。所以当 k == 9
它跳过打印 10
.
在第二个版本中,它记录 k
。所以当 k == 9
它跳过打印 9
.
在第一个示例中,您要记录 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)"[=17= 下解释一下 k++ ]
在这两种情况下,k 的值每次在块末尾、console.log
之后或在 if (k === 9)
块内 [=16= 之前的循环中递增 1 ]
希望你们一切顺利 我在学习Javascript 我了解了“continue”,我们可以在循环中使用它进行迭代。 但这是我无法得到的
先看看代码:
let k = 1
do {
if (k === 9) {
k++;
continue;
}
console.log(k + 1);
k++;
} while (k < 15);
当在console.log中是(k+1)then时,打印了9,漏掉了10。 不明白为什么?
但是当使用这个代码时
let k = 1
do {
if (k === 9) {
k++;
continue;
}
console.log(k);
k++;
} while (k < 15);
当inconsole.log为(k)then时,不打印9,打印10。
看不懂简单(k)和(k+1)时的逻辑?
这就是我的理解。即如果K=1。 console.log(k+1)。 2 被打印出来。然后由于 k++。 k 变成 2 并且条件被测试并且因为它是真的所以它将移动到另一个循环。这还在继续。对吗?
谢谢
那是因为在您的逻辑中,如果 k === 9
,您将 +1 添加到 k
,然后将其记录到控制台,这使得 9 不可见。您应该记录它,然后添加 k++
.
continue
跳过循环体的其余部分并开始循环的下一次迭代(如果 while
条件仍然为真)。
在这两个代码片段中,您在 k == 9
时执行此操作,因此它会跳过调用 console.log()
.
在第一个版本中,它记录 k+1
。所以当 k == 9
它跳过打印 10
.
在第二个版本中,它记录 k
。所以当 k == 9
它跳过打印 9
.
在第一个示例中,您要记录 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)"[=17= 下解释一下 k++ ]
在这两种情况下,k 的值每次在块末尾、console.log
之后或在 if (k === 9)
块内 [=16= 之前的循环中递增 1 ]