for in的使用

for-in循环有一个问题,就是它不仅遍历对象的实例属性,同样还遍历从原型继承来的属性。当遍历自定义对象的属性时,往往会因为意外的结果而终止。所以要加上hasOwnProperty()方法来过滤实力属性。这也是DC大牛建议的。

hasOwnPrototype()方法可以检测一个属性是否存在于对象实例中。

var prop;

var object = {

    name: "name",

    value: "value"

};



for (prop in object) {

    if (object.hasOwnProperty(prop)) {

        console.log(prop);

    }

}

 

 

 

你可能感兴趣的:(for)