Baru -baru ini, proyek ini mengalami masalah dalam menilai benda -benda kosong. Harap tinjau informasi yang relevan dan ringkaslah.
Menilai objek kosong tidak lagi sama dengan menilai string kosong, karena objek kosong juga merupakan objek, dan memori perlu dialokasikan secara terpisah, daripada kosong seperti tali, itu adalah pot besar beras. Setiap orang setara, sebagai berikut:
Seperti yang ditunjukkan dalam kode di atas, dapat ditemukan bahwa apakah itu adalah objek kosong yang dibuat melalui objek literal atau objek kosong yang dibuat melalui konstruktor objek, itu tidak sama satu sama lain.
1. Konversi objek ke string untuk perbandingan
Metode ini tidak dianjurkan, tetapi memang yang paling mudah dipikirkan. Terutama menggunakan json.stringify () untuk memaksa objek. Itu diposting untuk dilihat:
var a = {}; var b = objek baru (); console.log ("Hasil Perbandingan Literal Objek:"+(JSON.Stringify (a) == "{}")) Console.log ("Hasil Perbandingan Konstruktor:"+(Json.Stringify (b) == "{}"))Kita bisa mendapatkan perbandingan antara dua objek kosong yang dikonversi ke string adalah benar, yang dapat menyelesaikan masalah ini, tetapi tidak disarankan. Mari kita bicara tentang metode kedua di bawah ini.
2. untuk loop
Gunakan loop in for untuk mengulangi semua atribut untuk menentukan apakah objek tersebut adalah objek kosong:
var a = {}; var b = objek baru (); function isEmptyObject (obj) {for (tombol var di obj) {return false}; return true}; if (isEmptyObject (a)) {alert ("a adalah objek kosong")} if (isEmptyObject (b)) {alert ("b adalah objek kosong")}Gunakan loop untuk loop objek saat looping, dan looping subscript yang sesuai saat melingkarkan array, seperti:
var b = ["halo", "my", "world"] untuk (indeks var dalam b) {console.log (b [indeks]);} // halo duniakuDi atas adalah semua konten (judul) yang dibawa kepada Anda oleh editor. Saya harap Anda akan mendukung wulin.com lebih banyak ~