Vielleicht möchten Sie das Yahoo-Modulmuster verwenden. Dies ist ein Singleton-Muster, und die Methoden sind nicht wirklich statisch, aber es könnte sein, wonach Sie suchen:
%Vor% Sie definieren Ihre privaten Mitglieder, wobei myPrivateVar
und myPrivateMethod
definiert sind, und Ihre öffentlichen Mitglieder, für die myPublicVar
und myPublicMethod
definiert sind.
Sie können einfach wie folgt auf die öffentlichen Methoden und Eigenschaften zugreifen:
%Vor% Die einfache Antwort lautet: Sie können nicht beide . Sie können "private"
Methoden oder "static"
Methoden erstellen, aber Sie können Private statische Funktionen nicht wie in anderen Sprachen erstellen.
Die Art und Weise, wie Sie die Privatsphäre emulieren können, ist closing :
%Vor% Hier wird wegen closing die Funktion inner
jedes Mal erstellt, wenn Sie f
aufrufen, und die öffentlichen Funktionen können diese inner
Funktion aufrufen, aber für die Außenwelt inner
wird versteckt sein.
Die Art, wie Sie statische Methoden eines Objekts erstellen, ist einfach:
%Vor% Hier wird das Funktionsobjekt f
nur ein staticFn
haben, das Zugriff auf statische Variablen hat, aber nichts von den Instanzen .
Bitte beachten Sie, dass die prototype
Version vererbt wird, während die erste nicht wird.
Sie erstellen entweder eine private Methode, die nicht auf die Instanzen zugreift, oder Sie erstellen eine statische Methode, auf die Sie nicht von außen zugreifen möchten.
Sie können eine Schließung verwenden, etwas in der Art von ....
%Vor%Dann:
obj.method2
ist verfügbar, aber obj.method1
existiert nicht zur öffentlichen Verwendung. Es kann nur mit Member-Funktionen der Klasse zugegriffen werden.
Objekte können durch Konstruktoren erzeugt werden, bei denen es sich um Funktionen handelt, die Objekte initialisieren. Konstruktoren bieten die Funktionen, die Klassen in anderen Sprachen bereitstellen, einschließlich statischer Variablen und Methoden.
Lesen Sie alles über Ссылка
Vielleicht möchten Sie ein Proxy-Objekt, das nur die öffentlichen Methoden enthält, z. B.
%Vor%Ich sehe den Punkt der privaten Methoden in Javascript nicht. Wenn Sie nicht möchten, dass Leute eine Methode aufrufen, werben Sie sie nicht an. Private Methoden machen das Debuggen auch etwas schwieriger.
Tags und Links javascript