Rumah >hujung hadapan web >tutorial js >Mengapa Adakah `console.log` Menunjukkan Keadaan Objek Akhir, dan Bagaimana Saya Boleh Melihat Keadaan Awalnya?

Mengapa Adakah `console.log` Menunjukkan Keadaan Objek Akhir, dan Bagaimana Saya Boleh Melihat Keadaan Awalnya?

Linda Hamilton
Linda Hamiltonasal
2024-12-12 20:27:10572semak imbas

Why Does `console.log` Show the Final Object State, and How Can I See its Initial State?

Konsol Penyelesaian Masalah. Output Log untuk Keadaan Objek

Dalam banyak penyemak imbas, termasuk Safari tanpa alat tambah, console.log memaparkan keadaan objek pada akhir pelaksanaan dan bukannya pada masa panggilan fungsi. Ini boleh menyebabkan kekeliruan semasa menyahpepijat.

Memahami Isu

Apabila menggunakan console.log dengan objek, ia hanya mencatat rujukan kepada objek. Memandangkan objek boleh berubah, sebarang perubahan yang dibuat pada objek selepas panggilan console.log akan ditunjukkan dalam output yang dipaparkan.

Penyelesaian: Menggunakan console.dir()

Fungsi console.dir() menyediakan penyelesaian kepada isu ini. Ia mencetak direktori sifat objek pada masa fungsi dipanggil, memberikan perwakilan tepat keadaannya.

Contoh:

var test = {a: true}
console.dir(test); // {a: true}
test.a = false; 
console.dir(test); // {a: false}

Penyelesaian Alternatif: Penukaran Rentetan JSON

Pendekatan lain ialah menukar objek kepada rentetan JSON menggunakan JSON.stringify(). Rentetan ini kemudiannya boleh dilog menggunakan console.log, dan kemudian dihuraikan kembali ke dalam objek menggunakan JSON.parse(). Kaedah ini menyediakan kefungsian yang serupa kepada console.dir().

Contoh Kod:

console.log(JSON.parse(JSON.stringify(obj)));

Dengan menggunakan sama ada console.dir() atau teknik penukaran rentetan JSON , pembangun boleh memaparkan dengan tepat keadaan semasa sesuatu objek apabila menggunakan console.log. Ini menghapuskan isu data basi dan meningkatkan kecekapan penyahpepijatan.

Atas ialah kandungan terperinci Mengapa Adakah `console.log` Menunjukkan Keadaan Objek Akhir, dan Bagaimana Saya Boleh Melihat Keadaan Awalnya?. 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