这个问题的解决方案建议使用 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)
做你想做的事情的“唯一”方法是使用一个函数作为“类”。这样你就声明了一个“类”,它的公共“静态”成员可以被访问。像这样的东西:
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 的动态内容混合在一起。为什么要访问尚未创建的对象的成员?
| 归档时间: |
|
| 查看次数: |
2386 次 |
| 最近记录: |