了解 CONTINUE 如何在 Javascript 中工作?
Posted
技术标签:
【中文标题】了解 CONTINUE 如何在 Javascript 中工作?【英文标题】:Understand how CONTINUE works in Javascript? 【发布时间】:2016-05-23 22:04:25 【问题描述】:我正在阅读一篇关于MDN website about loops and iteration 的文章。我试图理解为什么我们会从以下结果中得到 1、3、7、12?:
var i = 0;
var n = 0;
while (i < 5)
i++;
if (i == 3)
continue;
n += i;
continue 语句不会导致它跳过 3 吗?
【问题讨论】:
1, 3, 7, 12
到底是什么?
您正在跳过第 3 次迭代,但第 3 次来自 1 + 2
【参考方案1】:
continue
所做的是立即跳转到循环的顶部。本质上,它会忽略其后的所有内容并继续进行下一次迭代。
举一个更简单的例子,这里是如何只打印一个范围内的偶数:
for (var i = 0; i < 10; i++)
// If i isn't even, skip to the next iteration
if (i % 2 !== 0)
continue;
console.log(i);
因此,您不会将 3 添加到您的运行总和中。相反,您基本上得到:
var i = 0;
var n = 0;
i++; // 1
n += i; // 1
i++; // 2
n += i; // 3
i++; // 3
// skip 3
i++; // 4
n += i; // 7
i++; // 5
n += i; // 12
【讨论】:
很好的解释。谢谢!【参考方案2】:是的。当 i 等于 3 时,跳过循环。 重点是 n,其值为 1、3、7、12
【讨论】:
【参考方案3】:我忽略了本例中的赋值运算符 (+=)。
当我们循环时,它的进展如下:
在第一个循环之后,x=1 和 y=1,我们继续往 x 添加一个 1,现在 = 2。由于赋值运算符 (n += x),我们将 two(x) 添加到 one(y )。
在这个阶段,我们再次循环,操作意识到 x 已变为 3,因此它“跳过”该赋值运算符并继续。
【讨论】:
以上是关于了解 CONTINUE 如何在 Javascript 中工作?的主要内容,如果未能解决你的问题,请参考以下文章