JavaScript 中的无限循环
有各种可用的循环服务于特定目的并在需求匹配时使用。我们可以使用它们中的任何一个来让它运行无限次。
在今天的文章中,我们将了解不同类型的循环以及什么是 JavaScript 中的无限循环。
在 JavaScript 中使用 while
循环的无限循环
只要测试条件为 true
,while
语句就会生成一个执行特定语句的循环。条件总是在它里面的语句被执行之前被评估。
语法:
while (condition) statement
为了理解 while
循环,让我们看看下面的例子。
例子:
let i = 0
while (i < 3) {
console.log(i);
i += 1;
}
在上面的例子中,i < 3
是条件
。这是一个表达式,在循环的每一步之前都会被评估。
如果此条件的计算结果为 true
,则执行其中写入的语句。因此,直到 i
的值小于 3,它才会打印 i
的当前值。
一旦条件评估为 false
,while
循环执行停止并继续执行 while
循环之后的语句。
console.log(i); i += 1
是 statement
,它是一个可选语句,只要条件为 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 = 0
是 for
循环的初始化。它是在循环开始之前计算一次的表达式或变量声明。
该表达式可以使用可选的关键字 var
或 let
声明新变量。用 var
关键字声明的变量不是循环的局部变量;它们与 for
循环在同一范围内。
我们的变量 i
是用声明的本地变量 let
声明的。
i < 3
是 for
循环的条件。它是在循环的每次迭代之前评估的表达式。
如果该表达式为 true
,则执行该语句。在我们的示例中,直到 i
的值小于 3,它才会打印 i
的当前值。
此调节测试是可选参数。如果省略,则条件始终计算为 true
。
如果表达式的计算结果为 false
,则执行跳转到 for
构造之后的第一个表达式。
i++
是 final-expression
。它是在每次循环迭代结束时计算的表达式。
这发生在对条件的下一次评估之前。它每次都更新 i
的值。
console.log(i)
是语句
。它是在条件评估为 true
时执行的语句。
在 for() 循环 的文档中查找更多信息。
当上述代码在任何浏览器中运行时,你将获得以下输出。
输出:
0
1
2
要使这个循环无限运行,不要指定任何条件(如上面注释代码所示),它将无限运行。这里唯一的缺点是 JavaScript 是单线程的。
所以它会阻塞当前线程,你的窗口会冻结。
在 JavaScript 中使用 setInterval
的无限循环
JavaScript 默认提供了 setInterval()
方法。这个方法暴露在 Windows
和 Worker
接口中,重复调用一个函数或执行一段代码,每次调用之间有固定的时间延迟。
setInterval()
方法返回唯一标识间隔的间隔 ID,以便你以后可以通过调用 clearInterval()
将其删除。
语法:
const intervalID = setInterval(code, [delay]);
为了理解 setInterval
,让我们看看下面的例子。
例子:
setInterval(() => {console.log('Hello world')}, 1);
console.log('Hello world')
是上面例子中的代码。一种可选语法,允许你包含字符串而不是函数,每延迟毫秒编译和执行一次。
1
是 delay
,可选参数,指定时间;以毫秒为单位,计时器应该在指定函数或代码的执行之间延迟。如果未指定,则默认值为 0。
此函数返回 interval ID
,一个非零数值,用于标识由 setInterval()
调用创建的计时器。要取消间隔,我们可以将此值传递给 clearInterval()
。
在 setInterval() 的文档中查找更多信息。
这个函数的优点是它不会阻塞 JavaScript 的执行,它会无限次返回,直到间隔被清除。要清除间隔,请调用 clearInterval()
函数。
输出:
'Hello world'
'Hello world'
'Hello world'
'Hello world'
'Hello world'
'Hello world'
'Hello world'
...
相关文章
JavaScript 中的整数除法
发布时间:2024/03/17 浏览次数:157 分类:JavaScript
-
我们可以使用 Math 库和 JavaScript 中的按位运算符来获得除法的商和余数。
JavaScript for...in VS for...of 循环
发布时间:2024/03/17 浏览次数:195 分类:JavaScript
-
本教程介绍 JavaScript for..in 和 for..of 循环之间的区别。它还强调了在哪里使用 for..in 或 for..of 循环。
JavaScript 中的 setInterval 循环
发布时间:2024/03/17 浏览次数:108 分类:JavaScript
-
本文将教我们在 JavaScript 中使用 setinterval 循环。
在 JavaScript 中跟踪鼠标位置
发布时间:2024/03/16 浏览次数:188 分类:JavaScript
-
在本教程中,我们将了解如何在 JavaScript 中使用鼠标事件跟踪鼠标位置。
在 JavaScript 中将 Base64 转换为图像
发布时间:2024/03/16 浏览次数:77 分类:JavaScript
-
将 Base64 字符串转换为图像的最简单方法是调用启动图像构造函数并将 base64 字符串作为图像源的函数。此解决方案需要最少的代码行和努力来获得更好的结果。此外,还有一些复杂的实
使用 JavaScript 将图像转换为 Base64 字符串
发布时间:2024/03/16 浏览次数:144 分类:JavaScript
-
本文将讨论如何通过创建画布并将图像加载到其中,并使用文件读取器方法获取图像的相应字符串,将图像转换为其 base64 字符串表示。
在 JavaScript 中操作图像
发布时间:2024/03/16 浏览次数:175 分类:JavaScript
-
本文将介绍 JavaScript 中的图像处理功能。我们将使用 CamanJS 这是一个 JavaScript 库来操作图像。