Em JavaScript, existem três maneiras de atravessar a propriedade do objeto:
1.For/in. Você pode usar a instrução for/in para atravessar a propriedade (propriedade própria) do objeto e a propriedade herdada do objeto Prototype. Somente a propriedade enumerável será atravessada.
2.Object.Keys (). Você pode passar objetos como parâmetros para object.keys () e a instrução Object.Keys () retornará uma matriz composta por todas as seqüências de nome da propriedade. A instrução Object.Keys () retorna apenas a propriedade (própria) e a propriedade enumerável do próprio objeto. Esta afirmação é válida apenas no padrão ECMAScript 5.
3.Object.getownPropertyNames (). Você pode passar um objeto como um parâmetro em object.getOwnPropertyNames (). Como object.keys (), esta declaração retornará uma matriz composta por todas as seqüências de nome da propriedade. Ao contrário do object.Keys (), a instrução Object.getownPropertyNames () retorna a propriedade (propriedade própria) de todos os objetos, independentemente de ser enumerável ou não. Esta afirmação é válida apenas no padrão ECMAScript 5.
Com base nas informações acima, a figura a seguir está resumida da seguinte maneira:
experimentar:
A cópia do código é a seguinte:
var o = {x: 1, y: 2};
var a = object.create (o);
AZ = 3;
para (p em a) {
console.log (p);
} // zxy
console.log (object.keys (a)); // ["z"]
console.log (object.getownPropertyNames (a)); // ["z"]