for-in循环有一个问题,就是它不仅遍历对象的实例属性,同样还遍历从原型继承来的属性。当遍历自定义对象的属性时,往往会因为意外的结果而终止。所以要加上hasOwnProperty()方法来过滤实力属性。这也是DC大牛建议的。
hasOwnPrototype()方法可以检测一个属性是否存在于对象实例中。
var prop;
var object =
{
name: "name"
,
value: "value"
};
for (prop
in object) {
if (object.hasOwnProperty(prop)) {
console.log(prop);
}
}
转载于:https://www.cnblogs.com/qzsonline/archive/2013/04/07/3006226.html