Heim > Web-Frontend > js-Tutorial > Schneller Tipp: Wie JavaScript -Referenzen funktionieren

Schneller Tipp: Wie JavaScript -Referenzen funktionieren

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-17 08:46:19
Original
824 Leute haben es durchsucht

JavaScript -Referenzen verstehen: Ein tiefes Tauchgang

Quick Tip: How JavaScript References Work

Schlüsselkonzepte:

  • JavaScript verwendet Pass-by-Wert für primitive Typen (Nummer, String, Boolesche, undefined, null, Symbol) und Pass-by-Referenz für zusammengesetzte Typen (Objekte und Arrays). Der Operator typeof bestimmt die Zuordnungsmethode.
  • Referenzen in JavaScript zeigen direkt auf die Daten, nicht auf andere Variablen. Primitive Werte sind unveränderlich; Verbindungswerte sind veränderlich. Die Neuübertragung eines zusammengesetzten Wertes erzeugt eine neue Referenz.
  • Bei Übergabe von zusammengesetzten Werten an Funktionen ändert sich innerhalb Die Funktion an die referenzierten Daten wird außerhalb der Funktion reflektiert. Das Neuzuweisungen des Parameters innerhalb der Funktion erzeugt jedoch eine neue Referenz, wobei das Original unverändert bleibt.

kurz: Das Referenzverhalten von JavaScript unterscheidet sich erheblich von Sprachen mit expliziten Zeigern. Nur zusammengesetzte Datenstrukturen werden mit Referenz übergeben.

Quick Tip: How JavaScript References Work

Terminologie:

  • scalar: Eine einzelne Dateneinheit (z. B. Ganzzahl, boolean).
  • Verbindung: Mehrere Dateneinheiten (z. B. Array, Objekt).
  • primitiv: ein direkter Wert, keine Referenz.

Hinweis: Die Skalartypen von JavaScript sind im Gegensatz zu einigen Sprachen (wie Ruby) mit skalaren Referenztypen Primitive. Die primitiven Werte von JavaScript sind unveränderlich, während Verbindungswerte veränderlich sind.

Dieser Artikel wurde ursprünglich auf Medium veröffentlicht.

Zusammenfassung der Schlüsselpunkte:

  1. Der Betreiber typeof bestimmt, ob ein Wert durch Wert oder Referenz zugewiesen wird.
  2. Primitive werden durch Wert zugewiesen; Verbundwerte werden durch Referenz zugewiesen.
  3. Referenzen weisen auf Daten hin, nicht auf andere Variablen oder Referenzen.
  4. Primitive sind unveränderlich; Verbindungswerte sind veränderlich.

Beispiele:

pass-by-value (primitive):

let batman = 7;
let superman = batman;   //assign-by-value
superman++;
console.log(batman);     //7
console.log(superman);   //8
Nach dem Login kopieren
Nach dem Login kopieren

Quick Tip: How JavaScript References Work

pass-by-referenz (zusammengesetzte Werte):

let flash = [8, 8, 8];
let quicksilver = flash;   //assign-by-reference
quicksilver.push(0);
console.log(flash);        //[8, 8, 8, 0]
console.log(quicksilver);  //[8, 8, 8, 0]
Nach dem Login kopieren
Nach dem Login kopieren

Quick Tip: How JavaScript References Work

Erstellen neuer Referenzen:

Neuzuweisung eines zusammengesetzten Wertes erzeugt eine neue Referenz:

let firestorm = [3, 6, 3];
let atom = firestorm;   //assign-by-reference
atom = [9, 0, 9];         //value is reassigned (creates new reference)
console.log(firestorm); //[3, 6, 3]
console.log(atom);      //[9, 0, 9]
Nach dem Login kopieren
Nach dem Login kopieren

Quick Tip: How JavaScript References Work

Referenzen in Funktionen:

let batman = 7;
let superman = batman;   //assign-by-value
superman++;
console.log(batman);     //7
console.log(superman);   //8
Nach dem Login kopieren
Nach dem Login kopieren

Modifizieren Sie den ursprünglichen Verbindungswert innerhalb einer Funktion:

let flash = [8, 8, 8];
let quicksilver = flash;   //assign-by-reference
quicksilver.push(0);
console.log(flash);        //[8, 8, 8, 0]
console.log(quicksilver);  //[8, 8, 8, 0]
Nach dem Login kopieren
Nach dem Login kopieren

Erstellen einer flachen Kopie:

let firestorm = [3, 6, 3];
let atom = firestorm;   //assign-by-reference
atom = [9, 0, 9];         //value is reassigned (creates new reference)
console.log(firestorm); //[3, 6, 3]
console.log(atom);      //[9, 0, 9]
Nach dem Login kopieren
Nach dem Login kopieren

Quick Tip: How JavaScript References Work

Zuweisen von Primitiven durch Referenz (Verwendung von Objekten):

let magneto = [8, 4, 8];
(function(x) {        //IIFE
    x.push(99);
    x = [1, 4, 1];      //reassign variable (creates new reference)
    x.push(88);
})(magneto);
console.log(magneto); //[8, 4, 8, 99]
Nach dem Login kopieren

Schlussfolgerung:

Quick Tip: How JavaScript References Work

Das Referenzsystem von JavaScript verstehen, ist entscheidend für das Schreiben effizienter und fehlerfreier Code.

(FAQS-Abschnitt für Kürze weggelassen, kann aber basierend auf Bedürfnissen neu angezogen werden.)

Das obige ist der detaillierte Inhalt vonSchneller Tipp: Wie JavaScript -Referenzen funktionieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage