Heim >Web-Frontend >js-Tutorial >Warum zeigt Console.log() in Chrome geänderte Werte anstelle der ursprünglichen Werte an?
Console.log()-Inkonsistenzen in Chrome beim Protokollieren von Objekten und Arrays
In Google Chrome tritt unerwartetes Verhalten bei der Verwendung von console.log auf( ), um verschachtelte Arrays oder Objekte zu protokollieren. Wenn Sie den innersten Wert eines Arrays oder Objekts ändern, nachdem Sie es protokolliert haben, zeigt console.log() den geänderten Wert an, nicht die ursprünglichen Werte zum Zeitpunkt der Protokollierung.
Schritte zum Reproduzieren
So reproduzieren Sie das Problem:
Diese Inkonsistenz betrifft auch Objekte und Arrays, die in Variablen (testb, testc) gespeichert sind.
Grundlegendes Problem
Nach umfangreichen Recherchen war es so entdeckte, dass dieses Problem zuvor als Fehler in WebKit gemeldet wurde (https://bugs.webkit.org/show_bug.cgi?id=35801). Chromium-Entwickler erkannten das Problem an, gaben jedoch an, dass eine Behebung aufgrund technischer Einschränkungen unwahrscheinlich sei.
Behebung und Inkonsistenzen
Allerdings wurde 2012 eine Behebung in WebKit implementiert. Trotzdem muss Google Chrome den Fix noch übernehmen. Daher unterscheidet sich das Verhalten von console.log() je nachdem, ob das Konsolenfenster zum Zeitpunkt der Protokollierung geöffnet ist.
Fazit
Dieser Fehler in der console.log()-Funktionalität von Google Chrome bleibt bestehen und beeinträchtigt die Debugging-Bemühungen. Es wird empfohlen, sich dieser Inkonsistenz bewusst zu sein und alternative Debugging-Methoden in Betracht zu ziehen, bis das Problem in Chrome behoben ist.
Das obige ist der detaillierte Inhalt vonWarum zeigt Console.log() in Chrome geänderte Werte anstelle der ursprünglichen Werte an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!