Rumah >hujung hadapan web >tutorial js >Bagaimanakah Anda Dapatkan Nama Harta Warisan Tidak Terhitung dalam JavaScript?
Mengambil semula Nama Harta Diwarisi Tidak Dapat Dihitung dalam JavaScript
Dalam JavaScript, mengakses sifat objek adalah penting untuk manipulasi objek. Walaupun pelbagai kaedah wujud untuk mendapatkan semula sifat, mereka masing-masing memfokuskan pada jenis harta tertentu. Ini menimbulkan cabaran apabila cuba mengakses sifat tidak terhitung dan bukan milik objek.
Memahami Jenis Harta
Sifat JavaScript boleh dikategorikan kepada tiga jenis:
Cabaran
Masalah timbul apabila cuba mendapatkan semula yang tidak terhitung, sifat bukan milik sesuatu objek. Kaedah konvensional seperti Object.keys() dan for...in loops tidak akan menyediakan sifat ini.
Penyelesaian: Melintasi Rantaian Prototaip
Untuk mendapatkan semula bukan- sifat bukan milik yang boleh dikira, fungsi tersuai boleh dibuat yang merentasi rantai prototaip objek. Fungsi ini menggunakan Object.getOwnPropertyNames() untuk mendapatkan semula sifat yang tidak boleh dikira, termasuk yang diwarisi daripada rantai prototaip.
Contoh Fungsi
function getAllProperties(obj) { var allProps = []; var curr = obj; do { var props = Object.getOwnPropertyNames(curr); props.forEach(function(prop) { if (allProps.indexOf(prop) === -1) { allProps.push(prop); } }); } while ((curr = Object.getPrototypeOf(curr))); return allProps; } console.log(getAllProperties([1, 2, 3]));
Output :
[ "0", "1", "2", "length" ]
Atas ialah kandungan terperinci Bagaimanakah Anda Dapatkan Nama Harta Warisan Tidak Terhitung dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!