我尝试在浏览器中输入global
和Global
。两者都会导致ReferenceError:undefined变量。
我知道浏览器window
是全局对象的别名。我也知道,那个node.js' global
在服务器端javascript中是相同的。
global
,而且window
似乎无法访问node.js.是否有任何标准方法可以访问在两种环境中都可以工作的全局范围?
答案 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;
并在节点和窗口上使用全局访问它。