JavaScript For-In循环


Create:2021-04-22


在JavaScript中,for-in循环是一个基本的控制语句,使您可以循环访问对象的属性。对象的每个属性将被循环体内的代码语句执行一次。本JavaScript教程将通过语法和实例想你介绍如何使用for-in循环。

 

语法

JavaScript中的for-in循环的语法为:

for (variable in object) {
   // statements
}

参数说明

  1. variable 变量名称,数组的元素或对象的属性。
  2. object 有效对象或对象的名称,将迭代其属性。
  3. statements 每次循环执行的代码语句。

 

注意

  • for-in循环的主体将针对对象的每个属性执行一次。
  • for-in循环不会遍历对象的所有属性。它只能遍历可枚举的属性,例如用户定义的属性或继承的用户定义的属性。标记为不可枚举的任何属性(例如内置属性或方法)将不会通过使用for-in循环进行迭代。
  • 由于在for-in循环中没有枚举对象属性的特定顺序,因此JavaScript可能会以不同的顺序遍历属性,具体取决于您的实现或JavaScript版本。
  • 从技术上将,你可以使用for-in循环数组(因为JavaScript中数组也是对象),但这是不推荐的。因为如果数组对象已被自定义的功能增强,就可能发生逻辑错误。另外,在for-in中,属性列表的顺序(序列)是不能保证的。所以最好数组使用正常的for循环,对象使用for-in循环。
  • 另请参见break语句提前退出for-in循环。

 

例子

让我们看一个示例,该示例显示如何在JavaScript中使用for-in循环。

例如:

var totn_colors = { primary: 'blue', secondary: 'gray', tertiary: 'white' };

for (var color in totn_colors) {
   console.log(totn_colors[color]);
}

在此示例中,以下内容将输出到Web浏览器控制台

blue
gray
white

提示:每个JavaScript实现都可以按不同顺序遍历属性。上面的输出是在我们的JavaScript实现中显示的内容,但是在您的JavaScript版本中,输出的显示顺序可能不同。

 

在数组中使用for-in循环

由于数组是对象,因此可以使用for-in循环遍历数组的元素。

以下是与上面相同的示例,但是使用了一个数组:

var totn_colors = [ 'blue', 'gray', 'white' ];

for (var color in totn_colors) {
   console.log(totn_colors[color]);
}

在此示例中,以下内容将输出到Web浏览器控制台

blue
gray
white