Variablen per Referenz in JavaScript übergeben
Wenn Sie mehrere Operationen an Variablen innerhalb einer Schleife ausführen, ist es wichtig zu verstehen, wie JavaScript mit der Variablenübergabe umgeht. Im Gegensatz zu vielen anderen Programmiersprachen unterstützt JavaScript die Übergabe als Referenz nicht. Das Referenzieren von Objekten ermöglicht jedoch die Änderung ihres Inhalts innerhalb von Funktionen.
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); alert(myObj.foo); // "goodbye"
Es ist auch möglich, über Arrays zu iterieren, was die Änderung jeder Zelle ermöglicht.
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) { arr[i] = arr[i] + 1; }
Das ist erwähnenswert dass echte Referenzübergabe die Möglichkeit beinhaltet, Werte im aufrufenden Kontext zu ändern, was JavaScript nicht unterstützt.
function swap(a, b) { var tmp = a; a = b; b = tmp; } var x = 1, y = 2; swap(x, y); alert("x is " + x + ", y is " + y); // "x is 1, y is 2"
Im Gegensatz zu C , was eine echte Referenzübergabe ermöglicht, unterstützt JavaScript nur die Übergabe von Referenzen auf Objekte. Die Änderung von Objektinhalten innerhalb von Funktionen ist möglich, Referenzen selbst können jedoch nicht geändert werden.
Das obige ist der detaillierte Inhalt vonÜbergibt JavaScript Variablen als Referenz oder als Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!