Rumah >hujung hadapan web >tutorial js >Mengapa JavaScript Memaparkan '[Objek Objek]' Semasa Melog Objek?

Mengapa JavaScript Memaparkan '[Objek Objek]' Semasa Melog Objek?

DDD
DDDasal
2024-12-13 18:53:12474semak imbas

Why Does JavaScript Display

Memahami "[objek Objek]" dalam JavaScript

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.

Mengapa "[objek Objek]" dan bukannya "[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.

Mengembalikan Objek daripada Fungsi

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn