当(k+1)用作k(变量)值时,为什么循环中的&CONTINUE&QOOT;函数抛出错误?
我希望你们做得很好 我正在学习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
之后或continue
之前的if (k === 9)
块内的循环周围,k的值每次递增1
相关文章