Heim > Web-Frontend > js-Tutorial > Wie können statische Variablen in JavaScript implementiert werden?

Wie können statische Variablen in JavaScript implementiert werden?

Susan Sarandon
Freigeben: 2024-12-01 20:59:11
Original
188 Leute haben es durchsucht

How Can Static Variables Be Implemented in JavaScript?

Statische Variablen in JavaScript

In der objektorientierten Programmierung werden statische Variablen einer Klasse und nicht ihren Instanzen zugeordnet. In JavaScript, das einem prototypbasierten Vererbungsmodell folgt, kann das Konzept statischer Variablen durch verschiedene Ansätze erreicht werden.

Konstruktorfunktionen-Ansatz:

Vor der Einführung Bei den ES6-Klassen nutzte JavaScript Konstruktorfunktionen zur Objekterstellung. Innerhalb der Konstruktorfunktion können Sie private Variablen definieren, auf die nur innerhalb des Gültigkeitsbereichs dieser Funktion zugegriffen werden kann. Öffentliche Variablen und Methoden hingegen können dem this-Objekt der Instanz zugewiesen werden. Darüber hinaus können Sie dem Konstruktorfunktionsobjekt selbst statische Eigenschaften hinzufügen, die von allen Instanzen gemeinsam genutzt werden.

Betrachten Sie das folgende Beispiel:

function MyClass() {
  var privateVariable = "foo";

  this.publicVariable = "bar";

  this.privilegedMethod = function() {
    alert(privateVariable);
  };
}

// Instance method available to all instances (loaded once)
MyClass.prototype.publicMethod = function() {
  alert(this.publicVariable);
};

// Static property shared by all instances
MyClass.staticProperty = "baz";

var myInstance = new MyClass();
Nach dem Login kopieren

In diesem Beispiel ist staticProperty in definiert die MyClass-Funktion und ist für alle Instanzen von MyClass zugänglich.

ES6-Klassensyntax Ansatz:

ES6 hat das Schlüsselwort class zum Deklarieren von Klassen eingeführt. Mit Klassen können Sie statische Eigenschaften oder Methoden mithilfe des Schlüsselworts static definieren. Auf diese statischen Mitglieder kann über den Klassennamen selbst zugegriffen werden.

Hier ist das vorherige Beispiel, das mit ES6-Klassen implementiert wurde:

class MyClass {
  constructor() {
    const privateVariable = "private value";
    this.publicVariable = "public value";

    this.privilegedMethod = function() {
      console.log(privateVariable);
    };
  }

  publicMethod() {
    console.log(this.publicVariable);
  }

  static staticProperty = "static value";

  static staticMethod() {
    console.log(this.staticProperty);
  }
}

var myInstance = new MyClass();
myInstance.publicMethod(); // "public value"
myInstance.privilegedMethod(); // "private value"
MyClass.staticMethod(); // "static value"
Nach dem Login kopieren

Beide Ansätze bieten Möglichkeiten zum Erstellen statischer Variablen in JavaScript. Die ES6-Klassensyntax bietet eine sauberere und prägnantere Methode, während der Konstruktorfunktionsansatz mehr Flexibilität für den Zugriff auf private Variablen innerhalb von Instanzmethoden bietet.

Das obige ist der detaillierte Inhalt vonWie können statische Variablen in JavaScript implementiert werden?. 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