2016-07-15 4 views

Antwort

0

Wenn eine Eigenschaft asynchron gefüllt wird oder das übergeordnete Objekt console angemeldet wird, bevor die Eigenschaft mit einem Wert gefüllt wird, tritt das Verhalten auf.

var obj = {}; 

// here when checking the dev tools obj = {} 

ajax('url', function() { 
obj.a = 5 
// here when checking the dev tools obj = { a : 5} 
}) 
1

Das Protokollieren von Objekten in Chrome ist ein bisschen schwierig. Wenn Sie das gesamte Objekt protokollieren und anschließend eine Eigenschaft des Objekts ändern, wird immer der letzte Wert für die Eigenschaft angezeigt.

Versuchen Sie Logging Object.theme, anstatt das gesamte Objekt zu protokollieren, und Sie werden den Unterschied sehen.

+0

Ich verstehe, dass Chrome das Objekt mit dem neuen Wert ändern kann, aber das erklärt nicht, warum ich zwei verschiedene Werte habe. – ps0604

0

Es gibt ein kleines blaues Symbol auf Ihrem Screenshot, schweben Sie es und Sie erhalten die Antwort auf Ihre Frage.