2016-10-08 3 views
2

Got a wierd Problem. Ich console.log ein Objekt. Wie Sie auf dem Bild sehen können, ist ein Objekt nicht definiert, aber wenn ich es ausklappe, kann man sehen, dass es ein Array hat.Chrome devtools zeigt undefined aber Wert existiert beim Ausfliegen

Wenn ich console.log obj.matchcvs i

enter image description here

undefined bekommen Wie kann das sein? Fehler in Chrome-Dev-Tools?

+2

Könnte es sein, dass zwischen dem Zeitpunkt des 'log' und dem Klick zum Erweitern der Wert festgelegt wurde? (Da bereits angezeigte Werte nicht in Echtzeit aktualisiert werden) –

+2

http://stackoverflow.com/questions/7389069/consoles-log-object-at-current-state – adeneo

Antwort

3

Wenn Sie in den Entwicklungswerkzeugen auf ein Objekt klicken und "öffnet", zeigt es den aktuellen Status an. Wenn das Objekt jedoch in der "short" -Version angezeigt wird, wird nur die Snapshotversion des Objekts angezeigt, die beim Aufruf der Funktion console.log erstellt wurde.

(function(){ 
    var a = { x: 0 }; 
    // Log variable "a", current snapshot is saved 
    console.log(a); 

    // Now modify the variable 
    a.x = 1; 
})() 

Versuchen Sie diesen Code in Ihre Entwickler-Tools zu starten, werden Sie sehen, dass „kurze“ Version zeigt Objekt mit Eigenschafts x auf 0 gesetzt, wenn Sie es sich öffnet, Eigenschaft x auf 1 gesetzt ist, das liegt daran, dass, wenn Der Snapshot wurde erstellt, die Eigenschaft x wurde auf 0 gesetzt.

Verwandte Themen