Heim > Web-Frontend > js-Tutorial > Übergibt JavaScript Variablen als Referenz oder als Wert?

Übergibt JavaScript Variablen als Referenz oder als Wert?

Barbara Streisand
Freigeben: 2024-12-13 15:12:12
Original
709 Leute haben es durchsucht

Does JavaScript Pass Variables by Reference or by Value?

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"
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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"
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage