如何在浏览器中访问全局对象?

时间:2015-05-16 12:39:05

标签: javascript node.js global

我尝试在浏览器中输入globalGlobal。两者都会导致ReferenceError:undefined变量。

我知道浏览器window是全局对象的别名。我也知道,那个node.js' global在服务器端javascript中是相同的。

浏览器中似乎无法访问

global,而且window似乎无法访问node.js.是否有任何标准方法可以访问在两种环境中都可以工作的全局范围?

2 个答案:

答案 0 :(得分:3)

正如你所说,网络浏览器的全局对象是window,现在这种情况不会随时改变。

如果需要别名global,可以使用立即调用的函数表达式(IIFE):

(function(global) {
    // Here global will be always global object
})(window || global);

答案 1 :(得分:2)

尝试:

if (typeof window != undefined) {
    global = window;
}

或:

var global = global || window;

并在节点和窗口上使用全局访问它。