Heim > Web-Frontend > js-Tutorial > Warum zeigt die JavaScript-Konsole von Chrome geänderte Objektwerte anstelle der ursprünglichen Werte an?

Warum zeigt die JavaScript-Konsole von Chrome geänderte Objektwerte anstelle der ursprünglichen Werte an?

Susan Sarandon
Freigeben: 2024-12-24 03:20:18
Original
294 Leute haben es durchsucht

Why Does Chrome's JavaScript Console Show Modified Object Values Instead of Original Values?

Bewertungsverhalten der JavaScript-Konsole von Chrome für Objekte

Frage:

In einem JavaScript-Codeausschnitt wird ein Array definiert und auf der Konsole gedruckt. Nach der Änderung des Array-Elements wird es erneut gedruckt. Die Firefox-Konsole zeigt beide korrekten Werte an, aber die Chrome-Konsole wertet das Objekt langsam aus und gibt den geänderten Wert für beide Instanzen aus.

Liegt ein Fehler im Code vor oder handelt es sich um ein Verhalten der Chrome-Konsole?

Antwort:

Wie in einem WebKit-Fehlerbericht (jetzt behoben) erwähnt, gibt es ein Problem mit Chrome Auswertung von Objekten in der Konsole.

Erklärungen und Vermeidung:

Dieses Verhalten ist auf die verzögerte Auswertung der Chrome-Konsole für Objekte zurückzuführen. Es wertet sie nur aus, wenn sie auf der Konsole angezeigt werden, was zu einer falschen Ausgabe führt, wenn das Objekt vor der Anzeige geändert wird.

Um dieses Problem zu vermeiden, kann man .toString() für das Objekt aufrufen, wodurch ein Darstellung, die durch spätere Codeänderungen nicht verändert wird. Durch den Aufruf von .toString() vor dem Drucken an die Konsole wird sichergestellt, dass die richtigen Werte angezeigt werden.

Geänderter Code:

var s = ["hi"];
console.log(s.toString()); // Prints "hi"
s[0] = "bye";
console.log(s.toString()); // Prints "bye"
Nach dem Login kopieren

Mit diesem modifizierten Ansatz erfolgt die Konsolenausgabe in Chrome ist mit dem in Firefox identisch und zeigt beide korrekten Werte für das Array an.

Das obige ist der detaillierte Inhalt vonWarum zeigt die JavaScript-Konsole von Chrome geänderte Objektwerte anstelle der ursprünglichen Werte an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage