Javascript如何将全局对象分配给类内的变量?

时间:2018-10-07 19:18:14

标签: javascript

window.foo是全局对象。
如果我用console.log(window.foo)表示存在。 我想创建一个类来保存该对象,就像

class Globals {
   static foo = window.foo;
}  

但是如果我console.log(Globals.foo),它说未定义。我在做什么错了?

2 个答案:

答案 0 :(得分:0)

如果您只是想要一个全局对象来容纳东西,那么您已经到了一半,只需定义window.Globals = {}

window.Globals = {
    foo: window.foo
}

答案 1 :(得分:0)

您应该这样做:

class Globals{
    constructor(){
        this.foo = window.foo;
    }

}

您为static foo使用的定义是打字稿,而不是javascript:)

虽然上面的过程足以满足您的用法,但另一种方法是使用构造函数:

class Globals{
    constructor(foo){
        this.foo = foo;
    }

}

const globals = new Globals(window.foo);