Im folgenden Screenshot sehen Sie einen Ausdruck der console.log eines Objekts mit einem Feld. Aber dieses Feld hat und hat keinen Wert. Wie interpretiere ich das? Meine Absicht ist, den Wert zuzuweisen. Chrome js debug - zwei verschiedene Werte gleichzeitig
0
A
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
Es gibt ein kleines blaues Symbol auf Ihrem Screenshot, schweben Sie es und Sie erhalten die Antwort auf Ihre Frage.
Ich verstehe, dass Chrome das Objekt mit dem neuen Wert ändern kann, aber das erklärt nicht, warum ich zwei verschiedene Werte habe. – ps0604