2016-04-18 4 views

Antwort

0

Expanding was du getan hast:

var foo = {n: 1}; // foo = ref#1 
var bar = foo; // bar = ref#1 
foo.x = foo = {n: 2}; // (ref#1) foo.x = foo (ref#2); foo = ref#2; 
console.log(foo.x) // ref#2.x ... which is undefined (from ref#2) 
console.log(bar.x) // ref#2 ... which is ref#1 

Der Schlüssel ist, dass foo.xerste ausgewertet wird, die ref#1 in einer Referenz führt ..., auf die wir ref#2 dann zuweisen.

+0

Nein, das ist falsch. Hast du versucht, diesen Code auszuführen? – JLRishe

+0

@JLRishe - guter Punkt - Die Referenzmarken wurden korrigiert. Vielen Dank! –

Verwandte Themen