循环对象

myObj = {'firstName':'Ada','lastName':'Lovelace'};
  for (var key in myObj) {
    if (myObj.hasOwnProperty(key)) {
    console.log(myObj[key]);
  }
}

  

对象

for-in 循环用于在对象中循环关键词。这样很容易出错,因为, for-in 不会从 0 循环,而是循环对象及其原型链中现存的所有关键词。
如果可以的话,对数据进行整理,以避免迭代对象。如果不可行,将 for-in 循环的内容包裹在条件语句中,以避免迭代原型链。

1、isPrototypeOf 
isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。 
格式如下: 
object1.isPrototypeOf(object2); 
object1是一个对象的实例; 
object2是另一个将要检查其原型链的对象。 
原型链可以用来在同一个对象类型的不同实例之间共享功能。 
如果 object2 的原型链中包含object1,那么 isPrototypeOf 方法返回 true。 
如果 object2 不是一个对象或者 object1 没有出现在 object2 中的原型链中,isPrototypeOf 方法将返回 false。 

2、hasOwnProperty 
hasOwnProperty判断一个对象是否有名称的属性或对象,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。 
如果该属性或者方法是该 对象自身定义的而不是器原型链中定义的 则返回true;否则返回false; 
格式如下: 
object.hasOwnProperty(proName); 
判断proName的名称是不是object对象的一个属性或对象。

本文转自:http://www.cnblogs.com/ppforever/p/3921481.html

原文地址:https://www.cnblogs.com/fdxjava/p/14144180.html