En JavaScript, hay tres formas de atravesar la propiedad del objeto:
1. para/in. Puede usar la declaración for/in para atravesar la propiedad del objeto (propiedad propia) y la propiedad heredada del objeto prototipo. Solo la enumerable propiedad será atravesada.
2.Object.Keys (). Puede pasar objetos como parámetros en Object.Keys (), y la instrucción Object.Keys () devolverá una matriz compuesta por todas las cadenas de nombre de la propiedad. La declaración Object.Keys () devuelve solo la propiedad (propiedad propia) y enumerable del objeto en sí. Esta declaración solo es válida en el estándar ECMAScript 5.
3.Object.getOwnPropertynames (). Puede pasar un objeto como parámetro a Object.getOwnPropertynames (). Al igual que Object.Keys (), esta declaración devolverá una matriz compuesta por todas las cadenas de nombre de la propiedad. A diferencia de Object.Keys (), la declaración Object.getOwnPropertynames () devuelve la propiedad de todos los objetos (propiedad propia) independientemente de si es enumerable o no. Esta declaración solo es válida en el estándar ECMAScript 5.
Según la información anterior, la siguiente figura se resume de la siguiente manera:
experimento:
La copia del código es la siguiente:
var o = {x: 1, y: 2};
var a = object.create (o);
AZ = 3;
para (p en a) {
console.log (p);
} // zxy
console.log (object.keys (a)); // ["z"]
console.log (object.getownPropertynames (a)); // ["z"]