对于新手来说,“For循环”是检查对象包含的每个元素的编程语句。Javascript标准包含多个for循环的类型。您可以在不同的编程上下文中应用它们。

所有的Javascript for循环都有相同的基本结构。它们以单词“for”开头,后跟圆括号中的迭代方法。操作元素的指令位于迭代方法之后的花括号之间。

Javascript for循环语法在代码中是这样的:

ECMA标准中的Javascript For循环

简单的For循环

最简单的for循环类型是增加一个变量作为其迭代方法。该变量作为对象中每“n”个元素的计数器。

在该循环示例的简单JavaScript中,每次运行循环时变量“i”会增加一次。该循环一次按顺序打印出数组的内容。

循环也可以以明确显示“n”对象是什么方式编写的。由于前面的示例每次循环,因此每次循环时都会增加其变量,因此n = 1。

要想看到别的东西而不是每一个对象,你所要做的就是改变数字n。所以,用“i+2”来查看第二个对象,用“i+3”来查看第三个对象,以此类推。这种逻辑适用于用于检查元素的任何简单算术操作,无论是加法、减法,还是乘法。

工党循环

for-in循环总是逐个遍历对象的元素。这些名称可以是数组索引或键-值对。

JavaScript循环的语法是:

如果对象是数组,for-in循环将按顺序输出数组下标。如果对象包含键-值对,则for-in循环将打印出每个存在的键。for-in循环不保证键-值对中的键总是以相同的顺序访问。

的循环

for-of循环与for-in循环相似,因为它逐个遍历对象的元素。与for-in循环相比,它更新并自动使用迭代器。

Javascript for-of循环的语法是:

如果对象是一个数组,for-of循环将按顺序打印出数组下标的值。如果对象包含键-值对,for-of循环将打印出所有存在的值。

与for-in循环一样,for-of循环不保证键-值对中的键总是以相同的顺序访问。for-of循环也不是for-in循环的替代品。

区分for-of循环和for-in循环的一个好方法是记住它们返回的数据。for-of循环返回值,而for-in循环返回键或索引。

For-Await-Of循环

当需要迭代异步对象或函数时,使用for- wait-of循环。它可以返回对象的值和函数调用的结果。你不应该在同步对象或函数上使用它。

Javascript for- wait-of循环的语法与for-of循环相似,不同之处在于它的迭代方法之前有关键字" await ":

通用框架中的Javascript For循环

Angular.js For循环

js框架支持ECMA标准中列出的所有Javascript for循环类型。另外,它还有一个专门用于循环它自己被称为“foreach”。

forEach循环的语法与我们到目前为止介绍的其他循环类型有很大的不同。forEach循环是Angular中内置的一个函数。而不是一个简单的控制结构。您必须将要迭代的对象和解释如何处理对象元素的函数传递给forEach函数。

在以下示例中,您可以在控制台上看到一个具有三个键的对象。

Angular.js的forEach循环还可以接受一个名为“context”的可选参数。上下文是一个外部变量,可用于操作循环遍历的对象的内容。

这个例子在将对象信息打印到控制台时,用对象键填充数组“myContext”。处理对象的函数使用关键字“this”来引用“myContext”数组。

jquery for loop.

jQuery允许您使用所有标准JavaScript进行循环变化。它没有自己的循环变量显式,但它确实有了用于迭代的专门方法分别称为“each”和“map”。

JQuery文档建议您在任何可能的情况下使用" each "和" map "方法来迭代对象。For循环不能遍历某些专门的JQuery对象,因此“each”和“map”函数在这些情况下是有效的替代。

A for循环使用“每个”在一般感道上看起来像这样,使用函数来描述应使用对象元素完成的操作:

A for循环在专门的jQuery对象上使用“每个”,例如值集合,看起来有点不同。“每个”方法了解集合中的每个元素是其上下文,它由“此”关键字引用。如前所述,Angular.js还使用此机制进行循环。

“映射”方法以与“每个”相同的方式函数,除了它们处理键值对而不是单个元素。

选择正确的For循环

虽然for循环都是一种迭代机制,但不同类型的循环有不同的具体行为。选择错误的Javascript for循环类型可能会导致意想不到的结果,并引入难以修复的bug。

每当你使用像Angular或JQuery这样的Javascript框架时,使用内置在框架中的for循环变体几乎总是更好的。如果您有任何疑问,请参考框架的文档。

参加我们的编程纳米迪尔格的介绍188金宝搏安不安全今天来学习更多关于Javascript for循环和其他编程概念!

开始学习