2015-12-26 9 views
2

Как перечислить все свойства (методы и атрибуты) в объекте и цепочке прототипов? Меня интересуют все (перечисляемые, а не перечислимые).Javascript - список всех свойств

целевой браузер - хром.

ответ

0

Это:

for(var k in obj) { 
    console.log(k, obj[k]) // name, value 
} 

Пример:

var obj1 = { a: 10, b: "x", c: { no: "no" }} 
 
var obj2 = new Object(obj1) 
 
obj2.d = "yes" 
 

 
for (var k in obj2) { 
 
    console.log(k, obj2[k]) // name, value 
 
}

0

Я заинтересован во всех из них (перечислим, а не перечислим).

Вы не можете перечислить то, что не перечислено. На самом деле вы можете определить неперечислимые свойства, чтобы избежать их появления как части итератора, например, for...in или Object.keys. Смотрите этот другой Q & А узнать больше о обходном: Is it possible to get the non-enumerable inherited property names of an object?

В настоящем время, самый простом способе перебора всех свойств, как собственных свойства и свойства прототипа используют for...in цикла:

for(var propertyName in obj) { 

} 

И вы можете использовать Object.hasOwnProperty, чтобы проверить, если свойство не объявлена ​​на данном объекте прототипе:

for(var propertyName in obj) { 
    if(obj.hasOwnProperty(propertyName)) { 
     // It's not from the object's prototype... 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^