node.js中相当于window["myvar"] = value的语法是什么?
window["myvar"] = value
要设置全局变量,请使用global而不是window。
global
window
global["myvar"] = value
var foo = 42; console.log(global.foo); //返回未定义...
var foo = 42
foo
var
window
和global
只是它们各自环境中全局对象的引用。因此,在每个环境中,您可以以相同的方式使用它们。我更新了我的答案以明确显示代码。 - user1106925global
。如果有其他方法可以在模块之间共享数据,则应该使用它。特别是,如果您需要使用Cluster或其他方式将您的应用程序分布在处理器之间,使用global
将会失效,因为它不会在子进程之间共享。 - ebohlmanvar foo = 42; console.log(global.foo); //返回未定义...
- Matrixvar foo = 42
,你就可以将foo
作为全局对象的属性进行访问,在浏览器中是window
,在NodeJS中是global
。然而,如果你在模块中执行var foo = 42
,那么你不在全局环境中,而是在函数内部。无论如何,问题不在于使用var
创建变量,而在于如何直接在全局对象上创建属性。 - user1106925window
和global
视作等价的,因此他认为它们完全不等价。 - spex