Dalam JavaScript, anda mungkin menemui rentetan "[objek Objek]" apabila cuba memberi amaran atau log nilai sesuatu objek. Rentetan ini mewakili siri lalai objek, memberikan cerapan tentang jenis objek.
Tidak seperti sesetengah bahasa pengaturcaraan, JavaScript mempunyai pelbagai jenis objek. Setiap jenis dikenal pasti oleh fungsi pembinanya. Contoh berikut menggambarkan siri jenis objek yang berbeza:
function stringify(x) { console.log(Object.prototype.toString.call(x)); } stringify(function () {}); // [object Function] stringify([]); // [object Array] stringify(/x/); // [object RegExp] stringify(new Date); // [object Date] stringify({}); // [object Object]
Dalam JavaScript, istilah "objek" (huruf kecil) secara amnya merujuk kepada sifat struktur sesuatu benda. Walau bagaimanapun, apabila membincangkan "objek" secara khusus, pembangun biasanya bermaksud "Objek objek" (huruf besar). Ini kerana fungsi pembina untuk objek ini dipanggil Object.
Dalam kod yang anda berikan, fungsi whichIsVisible() mengembalikan objek yang mewakili elemen yang boleh dilihat. Apabila anda cuba memaklumkan nilai pulangan, JavaScript mensirikan objek kepada "[objek Objek]" kerana ia adalah objek Objek.
Untuk memaparkan elemen sebenar dan bukannya rentetan bersiri, anda boleh mengubah suai fungsi untuk dikembalikan ID elemen sebaliknya:
function whichIsVisible() { if (!.is(':hidden')) return .attr('id'); if (!.is(':hidden')) return .attr('id'); }
Atas ialah kandungan terperinci Mengapa JavaScript Memaparkan '[Objek Objek]' Semasa Melog Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!