Mengapa Anomali Paparan Objek Chrome dan Safari Console Berlaku Berbanding dengan Firefox?

Susan Sarandon
Lepaskan: 2024-10-27 10:01:30
asal
482 orang telah melayarinya

Why Do Chrome and Safari Console Object Display Anomalies Occur Compared to Firefox?

Anomali Paparan Objek dalam Konsol Penyemak Imbas

Dalam pengaturcaraan, penyahpepijatan melibatkan pemeriksaan sifat dan nilai objek dalam konsol. Walau bagaimanapun, pengguna mungkin menghadapi ketidakkonsistenan yang tidak dijangka apabila memaparkan objek dalam konsol penyemak imbas Chrome, Firefox dan Safari.

Chrome dan Safari lwn. Firefox: Percanggahan Nilai Objek

Pertimbangkan kod JavaScript yang disediakan dalam soalan:

<code class="javascript">var foo = { bar: 1111 };
console.log(foo);
console.log(foo.bar);
foo.bar = 2222;
console.log(foo);
console.log(foo.bar);</code>
Salin selepas log masuk

Sementara Firefox Firebug memaparkan nilai yang dijangkakan sebagai:

Object { bar=1111}
1111
Object { bar=2222}
2222
Salin selepas log masuk

Konsol Chrome dan Safari mempamerkan tingkah laku yang pelik:

Object { bar=2222}
1111
Object { bar=2222}
2222
Salin selepas log masuk

Menjelaskan Percanggahan

Gelagat konsol Chrome dan Safari berpunca daripada keputusan reka bentuk. Apabila objek pada mulanya dihantar ke console.log, ia dianggap sebagai rujukan. Sebarang pengelogan seterusnya bagi objek yang sama akan memaparkan nilai semasanya, bukan nilai pada masa log awal.

Setelah tab objek dikembangkan dalam konsol, nilainya menjadi beku dan dipisahkan daripada objek asal . Akibatnya, menukar nilai objek selepas itu tidak akan menjejaskan paparannya dalam tab dikembangkan.

Penyelesaian

Untuk mengelakkan percanggahan ini, pembangun boleh menggunakan kaedah yang menyerikan objek menjadi nilai bukan objek, seperti rentetan JSON:

<code class="javascript">console.log(JSON.stringify(foo));</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Anomali Paparan Objek Chrome dan Safari Console Berlaku Berbanding dengan Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!