使用MooTools类的静态方法和变量的最佳实践

kpo*_*zin 8 javascript oop static mootools

是否有任何最佳实践或常见解决方案可以为MooTools生成的类添加对"静态"方法和变量的支持?

特别是,是否有任何解决方案可确保在initialize调用实例方法之前进行静态初始化?

T.J*_*der 5

警告:从未使用过MooTools.我曾经使用过Prototype,它有一个类似的Class系统(MooTools要么"受到启发",要么是Prototype的分支,取决于你问的人).

只需将它们作为属性添加到生成的"类"中:

var MyClass = new Class(properties);
MyClass.staticMethod = function() {
    // ...
};
Run Code Online (Sandbox Code Playgroud)

(上面的第一行来自文档 ;剩下的就是我的补充.)

您知道initialize在任何新实例之前会发生这种情况,因为在附加静态方法(或属性)之前,您没有留下创建新实例的机会.

  • @Dimitar:`staticMethod`可以像`MyClass.staticMethod()一样用于`MyClass`的实例. (3认同)
  • @Dimitar:对.OP询问如何添加**静态**方法.这样做.如果您想要实例方法,可以在属于"new Class"的属性中定义它们. (3认同)
  • 我知道,我以为我应该提一下它,因为当我第一次尝试将新方法添加到其他地方定义的类时它就把我扔掉了:) (3认同)