Dalam JavaScript, ada tiga cara untuk melintasi properti objek:
1. untuk/dalam. Anda dapat menggunakan pernyataan untuk/dalam untuk melintasi properti objek sendiri (properti sendiri) dan properti yang diwarisi dari objek prototipe. Hanya properti yang dapat dihitung yang akan dilalui.
2.Object.keys (). Anda dapat meneruskan objek sebagai parameter ke objek.keys (), dan pernyataan objek.keys () akan mengembalikan array yang terdiri dari semua string nama properti. Pernyataan objek.keys () hanya mengembalikan (properti sendiri) dan properti yang dapat dihindarkan dari objek itu sendiri. Pernyataan ini hanya valid dalam standar ecmascript 5.
3.Object.getOwnPropertynames (). Anda dapat meneruskan objek sebagai parameter ke objek.getOwnPropertynames (). Seperti objek.keys (), pernyataan ini akan mengembalikan array yang terdiri dari semua string nama properti. Tidak seperti Object.keys (), pernyataan Object.getOwnPropertynames () mengembalikan properti semua objek sendiri (properti sendiri) terlepas dari apakah itu dapat dihitung atau tidak. Pernyataan ini hanya valid dalam standar ecmascript 5.
Berdasarkan informasi di atas, gambar berikut dirangkum sebagai berikut:
percobaan:
Salinan kode adalah sebagai berikut:
var o = {x: 1, y: 2};
var a = objek.create (o);
AZ = 3;
untuk (p in a) {
console.log (p);
} // zxy
console.log (objek.keys (a)); // ["z"]
console.log (objek.getOwnPropertynames (a)); // ["z"]