Heim > Artikel > Web-Frontend > Wie können Sie private Methoden in JavaScript implementieren?
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!