2
Javascriptには従来のOOP言語と同じ方法でクラスがなく、次のような「クラス」定義は単に使用できる関数オブジェクトnew
キーワードで:グローバルオブジェクト内で定義されたクラスのJavascript静的メソッド
function MyClass(){
this.a = function(){ /* Do something */ }; // Public function
function b(){ /* Do something */ }; // Private function
}
私は思ったんだけど、私は(名前空間を汚染を避けるために)グローバルオブジェクトを定義し、このオブジェクト内の私のクラスを定義した場合、私は私のクラスの静的メソッドを定義することができ、ありますこれよりも良い方法:
var MyObject = {
MyClass: function(){
this.a = function(){ /* Do something */ }; // Public function
function b(){ /* Do something */ }; // Private function
},
}
MyObject.MyClass.MyStaticMethod = function(){ /* Do something */ };
MyStaticMethod
をMyClass
の機能スコープの中に定義するという行に何か考えていましたか?これは可能でしょうか?
var MyObject = {
MyClass: function(){
this.a = function(){ /* Do instance-y stuff */ };
MyClass.MyStaticMethod = function(){ /* Do static-y stuff */ };
}
}
を私はそれが悪いアイデアだと思う: