Pemeriksaan Kelakuan JavaScript Unik: Mengapa Tatasusunan Objek Memulangkan "objek" Daripada "tatasusunan"
Dalam JavaScript, fenomena yang menarik timbul apabila bekerja dengan tatasusunan objek. Yang menghairankan, walaupun sifatnya seperti tatasusunan, ia diklasifikasikan sebagai objek apabila operator jenis digunakan. Percanggahan ini boleh menjadi agak membingungkan, terutamanya dalam kes seperti di bawah:
$.ajax({ url: 'http://api.twitter.com/1/statuses/user_timeline.json', data: { screen_name: 'mick__romney'}, dataType: 'jsonp', success: function(data) { console.dir(data); //Array[20] alert(typeof data); //Object } });
Tingkah laku ini berpunca daripada keanehan dalam spesifikasi JavaScript yang menganggap objek Array sebagai Objek jenis. Walau bagaimanapun, ini tidak membayangkan bahawa tatasusunan dan objek boleh ditukar ganti. Untuk menentukan dengan tepat sama ada pembolehubah mewakili tatasusunan, gunakan kaedah berikut:
Dengan menggunakan teknik ini, anda boleh membezakan dengan tepat sama ada pembolehubah ialah tatasusunan, walaupun ia mengandungi objek, menyelesaikan percanggahan yang ketara antara tingkah laku seperti tatasusunan dan klasifikasi objeknya.
Atas ialah kandungan terperinci Mengapakah `typeof` mengembalikan \'objek\' untuk tatasusunan objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!