我知道 Javascript 没有像传统 OOP 语言那样的类,并且像下面这样的“类”定义只是一个可以与new
关键字一起使用的函数对象:
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
函数范围内定义的东西——这可能吗?