Übergabe von Variablen per Referenz in JavaScript
JavaScript fehlt das Konzept der „Übergabe per Referenz“, das in anderen Programmiersprachen vorhanden ist. Es ermöglicht jedoch die Übergabe von Objekten nach Wert, sodass Funktionen ihren Inhalt ändern können.
Objekte nach Wert übergeben
Um den Inhalt eines Objekts innerhalb einer Funktion zu ändern, übergeben Sie das Objekt sich selbst als Parameter:
function alterObject(obj) { obj.foo = "goodbye"; } var myObj = { foo: "hello world" }; alterObject(myObj); console.log(myObj.foo); // "goodbye"
Arrays ändern
Zu ändern Elemente eines Arrays, iterieren über seine numerischen Indizes und aktualisieren jede Zelle einzeln:
var arr = [1, 2, 3]; for (var i = 0; i < arr.length; i++) arr[i] = arr[i] + 1;
„Pass by Reference“ in JavaScript
JavaScript fehlt echtes „Pass by Reference“. „Funktionalität. Dies bedeutet, dass es im Gegensatz zu Sprachen wie C nicht möglich ist, den Wert einer ursprünglichen Variablen innerhalb eines Funktionsaufrufs zu ändern.
Im folgenden Beispiel schlägt das Vertauschen der Werte von x und y fehl, da sie als Wert übergeben werden und dies nicht möglich ist direkt innerhalb der Funktion geändert:
function swap(a, b) { var tmp = a; a = b; b = tmp; } var x = 1, y = 2; swap(x, y); console.log("x is " + x + ", y is " + y); // "x is 1, y is 2"
Fazit
Während JavaScript kein „Pass“ bietet „durch Referenz“ im herkömmlichen Sinne ermöglicht die Weitergabe von Objekten und die Manipulation ihres Inhalts eine ähnliche Funktionalität. Beachten Sie, dass diese Technik Objektinhalte ändert, nicht die Objektreferenz selbst.
Das obige ist der detaillierte Inhalt vonWie geht JavaScript mit der Variablenübergabe und Objektänderung um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!