迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 中的无限循环

作者:迹忆客 最近更新:2024/03/17 浏览次数:

有各种可用的循环服务于特定目的并在需求匹配时使用。我们可以使用它们中的任何一个来让它运行无限次。

在今天的文章中,我们将了解不同类型的循环以及什么是 JavaScript 中的无限循环。


在 JavaScript 中使用 while 循环的无限循环

只要测试条件为 truewhile 语句就会生成一个执行特定语句的循环。条件总是在它里面的语句被执行之前被评估。

语法:

while (condition) statement

为了理解 while 循环,让我们看看下面的例子。

例子:

let i = 0
while (i < 3) {
  console.log(i);
  i += 1;
}

在上面的例子中,i < 3条件。这是一个表达式,在循环的每一步之前都会被评估。

如果此条件的计算结果为 true,则执行其中写入的语句。因此,直到 i 的值小于 3,它才会打印 i 的当前值。

一旦条件评估为 falsewhile 循环执行停止并继续执行 while 循环之后的语句。

console.log(i); i += 1statement,它是一个可选语句,只要条件为 true 时执行。在我们的示例中,console.log 是在 i 的值小于 3 之前执行的语句。

当上述代码在任何浏览器中运行时,你将获得以下输出。

输出:

0
1
2

要使此循环无限运行,请将条件指定为 true,它将无限运行。这里唯一的缺点是 JavaScript 是单线程的。

所以它会阻塞当前线程,你的窗口会冻结。


在 JavaScript 中使用 for 循环的无限循环

for 语句是 JavaScript 提供的内置循环。它创建了一个循环,该循环采用三个可选表达式,括在括号中。

这些表达式用分号隔开,后面是需要在循环中执行的块语句。

语法:

for ([initialization];[condition];[final - expression]) statement

为了理解 for 循环,让我们看看下面的例子。

例子:

for (let i = 0; i < 3; i++) {
  console.log(i)
}
// for(;;) {
//   console.log("hello world!")
// }

在上面的例子中,let i = 0for 循环的初始化。它是在循环开始之前计算一次的表达式或变量声明。

该表达式可以使用可选的关键字 varlet 声明新变量。用 var 关键字声明的变量不是循环的局部变量;它们与 for 循环在同一范围内。

我们的变量 i 是用声明的本地变量 let 声明的。

i < 3for 循环的条件。它是在循环的每次迭代之前评估的表达式。

如果该表达式为 true,则执行该语句。在我们的示例中,直到 i 的值小于 3,它才会打印 i 的当前值。

此调节测试是可选参数。如果省略,则条件始终计算为 true

如果表达式的计算结果为 false,则执行跳转到 for 构造之后的第一个表达式。

i++final-expression。它是在每次循环迭代结束时计算的表达式。

这发生在对条件的下一次评估之前。它每次都更新 i 的值。

console.log(i)语句。它是在条件评估为 true 时执行的语句。

在 for() 循环 的文档中查找更多信息。

当上述代码在任何浏览器中运行时,你将获得以下输出。

输出:

0
1
2

要使这个循环无限运行,不要指定任何条件(如上面注释代码所示),它将无限运行。这里唯一的缺点是 JavaScript 是单线程的。

所以它会阻塞当前线程,你的窗口会冻结。


在 JavaScript 中使用 setInterval 的无限循环

JavaScript 默认提供了 setInterval() 方法。这个方法暴露在 WindowsWorker 接口中,重复调用一个函数或执行一段代码,每次调用之间有固定的时间延迟。

setInterval() 方法返回唯一标识间隔的间隔 ID,以便你以后可以通过调用 clearInterval() 将其删除。

语法:

const intervalID = setInterval(code, [delay]);

为了理解 setInterval,让我们看看下面的例子。

例子:

setInterval(() => {console.log('Hello world')}, 1);

console.log('Hello world') 是上面例子中的代码。一种可选语法,允许你包含字符串而不是函数,每延迟毫秒编译和执行一次。

1delay,可选参数,指定时间;以毫秒为单位,计时器应该在指定函数或代码的执行之间延迟。如果未指定,则默认值为 0。

此函数返回 interval ID,一个非零数值,用于标识由 setInterval() 调用创建的计时器。要取消间隔,我们可以将此值传递给 clearInterval()

在 setInterval() 的文档中查找更多信息。

这个函数的优点是它不会阻塞 JavaScript 的执行,它会无限次返回,直到间隔被清除。要清除间隔,请调用 clearInterval() 函数。

输出:

'Hello world'
'Hello world'
'Hello world'
'Hello world'
'Hello world'
'Hello world'
'Hello world'
...

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 JavaScript 中将 Base64 转换为图像

发布时间:2024/03/16 浏览次数:77 分类:JavaScript

将 Base64 字符串转换为图像的最简单方法是调用启动图像构造函数并将 base64 字符串作为图像源的函数。此解决方案需要最少的代码行和努力来获得更好的结果。此外,还有一些复杂的实

在 JavaScript 中操作图像

发布时间:2024/03/16 浏览次数:175 分类:JavaScript

本文将介绍 JavaScript 中的图像处理功能。我们将使用 CamanJS 这是一个 JavaScript 库来操作图像。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便