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);
    }
}

 

 

 

posted @ 2013-04-07 21:33  小猩猩君  阅读(229)  评论(0编辑  收藏  举报