Durch die Übergabe von Variablen per Referenz können Funktionen die ursprünglichen Variablen im aufrufenden Kontext ändern. JavaScript verfügt zwar über keine echte Referenzübergabe, bietet jedoch Möglichkeiten, eine ähnliche Funktionalität zu erreichen.
Um den Inhalt von Objekten zu ändern, übergeben Sie sie als Wert an Funktionen. JavaScript ermöglicht das Ändern von Objekteigenschaften, wie im folgenden Beispiel dargestellt:
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); alert(myObj.foo); // "goodbye"
Durchlaufen Sie Array-Eigenschaften mit numerischen Indizes, um einzelne Zellen zu ändern:
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) { arr[i] = arr[i] + 1; }
Beachten Sie, dass echte Referenzübergabe (modifizierend) einfache Variablen im aufrufenden Kontext) ist in JavaScript nicht möglich. Das folgende Beispiel veranschaulicht dieses Konzept:
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 unterstützt JavaScript kein echtes Pass-by-Reference, bei dem Funktionen einfache Variablen im aufrufenden Kontext ändern könnten. Stattdessen erlaubt JavaScript nur die Übergabe von Verweisen auf veränderbare Objekte, wodurch deren Inhalt, nicht aber ihre Verweise geändert werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Pass-by-Reference in JavaScript simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!