Heim >Web-Frontend >js-Tutorial >Wie können Sie private Methoden in JavaScript implementieren?

Wie können Sie private Methoden in JavaScript implementieren?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 14:36:03937Durchsuche

How Can You Implement Private Methods in JavaScript?

Implementieren privater Methoden in JavaScript

Während JavaScript das Konzept privater Methoden in Klassen nicht nativ unterstützt, gibt es einen Workaround, der dies erreichen kann einen ähnlichen Effekt. Indem Sie die Definition privater Methoden innerhalb des Klassenprototyps vermeiden, können Sie Methoden erstellen, auf die nur innerhalb von Instanzen der Klasse zugegriffen werden kann.

Betrachten Sie den folgenden Codeausschnitt:

<code class="javascript">function Restaurant() {
    var myPrivateVar;

    // Private method
    var private_stuff = function() {
        myPrivateVar = "I can set this here!";
    }

    // Public methods
    this.use_restroom = function() {
        private_stuff();
    }

    this.buy_food = function() {
        private_stuff();
    }
}</code>

In diesem Beispiel ist die Die Funktion „private_stuff“ ist als private Methode innerhalb der Funktion „Restaurant“ selbst definiert. Dies bedeutet, dass nur innerhalb von Restaurant-Instanzen darauf zugegriffen werden kann und nicht extern aufgerufen werden kann.

Die öffentlichen Methoden use_restroom und buy_food können beide auf die private Methode private_stuff zugreifen und so bestimmte Aktionen ausführen, ohne den Benutzern die Implementierungsdetails preiszugeben der Klasse.

<code class="javascript">// Create a new instance of Restaurant
var restaurant = new Restaurant();

// Call public methods
restaurant.use_restroom();
restaurant.buy_food();

// Attempting to call private method externally will fail
restaurant.private_stuff(); // Uncaught ReferenceError: private_stuff is not defined</code>

Durch die Verwendung dieser Problemumgehung können Sie effektiv private Methoden erstellen, auf die externe Benutzer Ihrer Klasse nicht zugreifen können, während interne Methoden mit ihnen interagieren können. Es ist jedoch wichtig zu beachten, dass diese Methode keine vollständige Kapselung bietet, da die private Methode immer noch im Funktionsumfang vorhanden ist, wenn auch mit eingeschränkter Zugänglichkeit.

Das obige ist der detaillierte Inhalt vonWie können Sie private Methoden in JavaScript implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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