自动将类注册到窗口

时间:2017-01-12 15:53:50

标签: javascript

我想知道,有没有办法自动将一个类注册到窗口?现在要这样做,我必须这样做window.MyClass = MyClass

class MyClass {

}

window.MyClass = MyClass;

我希望window.MyClass = MyClass自动发生,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是创建一个注册类的函数。 [Classes]具有name属性,您可以使用该属性在全局空间中注册名称。这确实要求您在函数内部声明类,但在代码访问浏览器之前没有进行某种代码转换,它就是您可以做的最好的事情。



function register(c) {
  console.log('Registering ' + c.name);
  window[c.name] = c;
}

register(class ClassA {
  constructor() {
    console.log('Created ClassA');
  }
});

register(class ClassB {
  constructor() {
    console.log('Created ClassB');
  }
});

register(class ClassC {
  constructor() {
    console.log('Created ClassC');
  }
});

new ClassA();
new ClassB();
new ClassC();