关键词

JavaScript for in

JavaScript中的for in语句是一种循环结构,可以用来遍历对象的属性。该语句的基本语法如下:

for (variable in object){
    // 循环体代码
}

其中,variable表示每次循环中的变量名称,它将依次获取对象object的每一个属性名;而object则是需遍历的对象。

在每次循环中,variable会被赋值为对象object的一个属性名。因此,在循环体中,我们可以通过该属性名来访问对象的属性值。

下面是一个简单的例子:

var obj = {a: 1, b: 2, c: 3};

for (var prop in obj){
    console.log(prop); // 输出属性名
    console.log(obj[prop]); // 输出属性值
}

运行该代码后,控制台会输出以下内容:

a
1
b
2
c
3

上述例子中,for in循环遍历了对象obj的每一个属性名,并把它们存储在变量prop中,然后在循环体中输出了每个属性名和对应的属性值。

需要注意的是,for in语句不仅可以用于遍历对象的可枚举属性,也可以用于遍历继承自原型对象的属性。因此,在使用for in语句时,需要注意排除继承来的属性或者使用hasOwnProperty()方法进行判断,如下所示:

var obj = {a: 1, b: 2, c: 3};
Object.prototype.d = 4;

for (var prop in obj){
    if (obj.hasOwnProperty(prop)){
        console.log(prop); // 输出属性名
        console.log(obj[prop]); // 输出属性值
    }
}

运行该代码后,控制台会输出以下内容:

a
1
b
2
c
3

在上述例子中,循环中使用了hasOwnProperty()方法,以排除继承来的属性。因此,只有对象obj的自有属性a、b、c才被遍历到,并被输出到控制台。

总的来说,for in语句是一种非常方便的循环结构,可以用来遍历对象的属性。但需要注意避免遍历继承来的属性,或者使用hasOwnProperty()方法进行判断。

本文链接:http://task.lmcjl.com/news/15909.html

展开阅读全文