javascript类中的类变量

Had*_*ady 1 javascript jquery

这个问题的解决方案建议使用 John Resig 的类实现。该解决方案涵盖了我的所有需求,除了:

如何在此类内部声明一个可以从外部访问的公共全局变量?

我想建立如下内容:

    var MyClass = Class.extend({

        EVENT_NAME : 'event-name',

        init : function() {
            // ...
        }

    });

// Now another file can directly read this value without creating the class object
console.log( MyClass.EVENT_NAME );
Run Code Online (Sandbox Code Playgroud)

Hel*_*lgi 5

做你想做的事情的“唯一”方法是使用一个函数作为“类”。这样你就声明了一个“类”,它的公共“静态”成员可以被访问。像这样的东西:

function MyObject() {
  // constructor stuff here
}
MyObject.EVENT_NAME = "event_name";

console.log(MyObject.EVENT_NAME); // No need to instantiate MyObject
Run Code Online (Sandbox Code Playgroud)

但是,在我看来,您似乎将静态类型语言的概念与 Javascript 的动态内容混合在一起。为什么要访问尚未创建的对象的成员?