Percanggahan Paparan Objek JavaScript dalam Log Konsol
Apabila memaparkan objek JavaScript dalam log konsol, pengguna telah menemui hasil yang berbeza-beza merentas Firefox, Chrome dan pelayar Safari. Walaupun Firebug Firefox dengan tepat menggambarkan perubahan yang dibuat pada atribut objek, log konsol Chrome dan Safari mempamerkan gelagat yang pelik.
Dalam konsol Chrome, panggilan console.log yang melibatkan objek mencipta rujukan kepada objek. Sehingga tab objek dibuka dalam konsol, rujukan itu kekal hidup dan mencerminkan sebarang perubahan yang dibuat pada objek. Walau bagaimanapun, sebaik sahaja tab objek dibuka, objek yang dilog menjadi "cache" dan memaparkan nilai terkini yang dikemas kini tanpa mengira pengubahsuaian lanjut pada objek asal.
Tingkah laku ini, berpunca daripada keputusan reka bentuk oleh pasukan Chromium , tidak dianggap sebagai pepijat. Walau bagaimanapun, ia boleh menyusahkan pembangun yang bergantung pada paparan objek yang tepat dalam log konsol.
Untuk menyelesaikan isu ini, terdapat beberapa pilihan yang tersedia. Pembangun boleh memilih untuk log nilai bukan objek objek, seperti perwakilan bersiri yang diperoleh menggunakan JSON.stringify(foo). Ini akan memberikan perwakilan yang paling terkini tentang keadaan objek.
Atas ialah kandungan terperinci ## Mengapa Log Konsol Chrome & Safari Memaparkan Objek JavaScript Berbeza Daripada Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!