Was ist der Unterschied zwischen Pass nach Wert und Durchgang durch Referenz in JavaScript?

Was ist der Unterschied zwischen Pass nach Wert und Durchgang durch Referenz in JavaScript?
JavaScript ist eine Programmiersprache, die unseren Webanwendungen und Webseiten die Möglichkeit gibt, zu denken und zu handeln, indem sie sie interaktiv und dynamisch machen. JavaScript bietet uns wie jede andere Programmiersprache Funktionen, die eine Reihe definierter Befehle oder Anweisungen sind, die nur ausgeführt werden, wenn wir die Funktion mit diesem Code aufrufen. Die Funktion nimmt eine Eingabe oder einige Argumente an und gibt die Ausgabe zurück. Die Eingabeargumente können mit Wert oder Referenz übergeben werden.

In diesem Beitrag definieren wir also die Begriffe „nach Wert bestehen“ und „durch die Referenz übergeben“ zusammen mit Beispielen in JavaScript und erklären die Unterschiede zwischen den beiden.

Was ist Pass-by-Wert?

Eine Funktion wird direkt aufgerufen, indem der Wert der Variablen als Argument gesendet wird, wenn diese Funktion pass-by-Wert ist. Infolgedessen haben alle in der Funktion vorgenommenen Änderungen keinen Einfluss auf den Anfangs- oder Originalwert. Der ursprüngliche Wert wird nicht geändert, da beim Übergeben der Variablen in eine Funktion als Argument die Kopie dieser Variablen erstellt wird und daher alle in dieser Funktion durchgeführten Änderungen oder Operationen auf der Kopiervariable und nicht in der ursprünglichen Ausführung durchgeführt werden.

Nach dem Wert bestehen Beispiel

Erstellen wir eine Funktion mit dem Namen von PassByValue und ändern Sie die Werte der Variablen A Und B die als Argumente in dieser Funktion übergeben werden. Außerhalb der Funktion initialisieren wir die A- und B -Variablen und geben ihnen 1 bzw. 2 Werte an. Dann trösten wir diese Werte ab.

Funktion PassByValue (a, b)
a = 3;
B = 4;
Konsole.log ("Innerhalb der Funktion")
Konsole.log ("a:", a, "b:", b); // 3, 4

Sei a = 1;
sei B = 2;
Konsole.log ("Außenfunktion. Vor dem Aufrufen der Funktion ");
Konsole.log ("a:", a, "b:", b); // 1,2
PassByValue (a, b);
Konsole.log ("Außenfunktion. Nach dem Aufrufen von Funktion ");
Konsole.log ("a:", a, "b:", b); // 1,2

Wir werden sehen, dass, wenn wir die Werte von A und B außerhalb der Funktion konsole konsole. Innerhalb der Funktion werden die Werte jedoch 3 und 4 betragen und nach dem Aufrufen dieser Funktion werden sich die Werte nicht ändern, da sich innerhalb der Funktionskopien aus A und B vorgenommen hat und Änderungen an diesen Kopien vorgenommen wurden.

Was ist Pass-by-Reference?

Eine Funktion wird aufgerufen, indem die Referenz/Adresse der Variablen als Parameter in angegeben wird Pass-by-Referenz. Wenn Sie den Wert innerhalb der Funktion ändern, verändert auch der Wert außerhalb der Funktion, die der ursprüngliche Wert ist. Die Pass-by-Reference-Funktion wird in JavaScript-Arrays und -objekten verwendet.

Nach dem Referenzbeispiel passieren

Lassen Sie uns ein Objekt initialisieren und zwei Eigenschaften geben. Eine Eigenschaft definiert den Namen der Maschine und die andere “IsonMit der uns wissen, ob die Maschine eingeschaltet ist oder nicht. Wir initialisieren auch eine Funktion mit dem Namen von PassByReference und ändern Sie den Wert der Eigenschaften der Computerobjekte wie Name und Ison. Wir trösten dann diese Eigenschaften vor und nach dem Aufrufen der Funktion:

Funktion PassByReference (Maschine)
Maschine.name = "computer";
Maschine.ison = wahr;

var computer =
Name: "MyComputer",
Ison: Falsch
;
Konsole.log ("Vor dem Aufrufen von Funktion");
Konsole.Protokoll (Computer.Ison); // WAHR;
Konsole.Protokoll (Computer.Name); // Computer
PassByReferation (Computer);
Konsole.log ("nach dem Aufruf von Funktion");
Konsole.Protokoll (Computer.Ison); // WAHR;
Konsole.Protokoll (Computer.Name); // Computer

Wir sehen.

Differenz zwischen Pass nach Wert und Pass für Referenz

Der Hauptunterschied zwischen Pass nach Wert und Pass by Referenz besteht darin, dass der Durchgang durch die Referenz ins Spiel kommt, wenn wir Primitive zuweisen und nach Wert passieren, wenn wir Objekte zuweisen. Zu den primitiven Datentypen gehören Zeichenfolge, Boolesche, Symbole und Werte wie Null und Undefined, und die Objektdatentypen umfassen Funktionen, Arrays und einfache Objekte.

Der zweite Hauptunterschied zwischen den beiden besteht darin, dass Pass-by-Wert eine Kopie erstellt und dann Änderungen an dieser Kopie vorgenommen werden. In Pass-by-Reference wird jedoch keine Kopie vorgenommen und die Änderung der ursprünglichen Variablen wird vorgenommen.

Abschluss

Wir können Werte über Pass nach Wert übergeben oder durch Referenz übergeben werden. Pass nach Wert erfolgt an den primitiven Datentypen wie String, Anzahl, Booleschen und jedes Mal, wenn Sie eine Variable an eine Funktion übergeben. Die Übergabe durch Referenz erfolgt auf den Objektdatentyp wie Funktionen, Arrays und einfache Objekte, und in der Pass -By -Referenz wird der ursprüngliche Wert als Pass -By -Referenz nicht erstellt. Erstellt keine Kopie.

In diesem Beitrag haben wir zuerst gesehen Referenz in JavaScript.