In diesem Beitrag, Multiple left-hand assignment with JavaScript, @Crescent Fresh sagt JavsScript linken Zuordnung ist rechts assoziativ. Aber der folgende Code erscheint mir es richtig associativeness bricht:Multiple Links-Zuweisung mit JavaScript, wirklich richtig assoziativ?
var a = {n: 1};
a.x = a = {n: 2};
console.log(a.x);// undefined
Kann mir jemand erklären, warum a.x
nicht definiert ist?
Edit: Das obige Snippet soll "richtige Assoziativität" testen, in der realen Welt bitte nicht ähnlichen Code schreiben.
Circular Verweis, 'a.x = a' – Tushar
@Tushar Nein, versuchen Sie es selbst in Chrom-Konsole. –
@ 尤慕 李 Die erste Anweisung 'ax = a' wird entfernt/überschrieben durch' a = {n: 2}; ' – Tushar