Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Anomali Paparan Objek Chrome dan Safari Console Berlaku Berbanding dengan Firefox?

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

Susan Sarandon
Susan Sarandonasal
2024-10-27 10:01:30483semak imbas

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>

Sementara Firefox Firebug memaparkan nilai yang dijangkakan sebagai:

Object { bar=1111}
1111
Object { bar=2222}
2222

Konsol Chrome dan Safari mempamerkan tingkah laku yang pelik:

Object { bar=2222}
1111
Object { bar=2222}
2222

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>

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!

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