假设我们有一个要定义的自定义对象。此对象上的某些方法是“实例”特定的。我们还有一些真正独立于实例的方法,有点像C或Java语言中的公共静态方法。
创建这些功能定义的标准实践是什么?目前,我正在做这样的事情:
var User = function(name){
this.Name = name;
User.instances.push(this);
};
User.instances = [];
User.doSomething = function(){
// do something interesting with the set of user instances
};
var me = new User('me');
var you = new User('you');
User.instances; // => [me, you]
感觉
我在看代码。在我的理想世界中,我将能够一起定义所有内容(也许在User=function(){}?)中),以保持代码的整洁和连接。我知道JS的力量之一就是你
可以
有时我只是将“静态”定义嵌套在一些括号中-即使括号实际上在语法上没有意义:
// Static definitions
{
User.instances = [];
User.doSomething = function(){
// do something interesting with the set of user instances
};
}
有没有我不知道的标准做法?