如何动态访问 Node 中的全局变量
How can I dynamically access a global variable in Node?
在基于浏览器的JavaScript中,你可以做这样的事情:
var foo = "foo";
(function() {
var foo = "bar";
console.log(foo);
// => "bar"
console.log(window["foo"]);
// => "foo"
})();
有没有办法在缺少window
对象的 Node 中做类似的事情?
如果你想要一种与环境无关的方法,例如,在编写代码以同时在浏览器和 Node.js 上工作时,你可以在 JavaScript 文件顶部的全局代码中做这样的事情:
var globalObject = typeof global === "undefined" ? this : global;
然后使用类似于在浏览器上下文中window
以及在 Node.js 上下文中使用global
的globalObject
。
请注意,您必须声明一个不带var
变量,才能成为 Node.js 中 global
对象的一部分。
您可以使用nodejs中的global
关键字访问全局变量。
注意:- nodejs
有一条规则,只有那些变量将是全局变量,这些变量没有使用 var
声明。
就像你有像风箱一样的声明
foo = "sample"; //this you can access using global
但
var foo = "sample"; //this you cann't access using global.
第二个实际上不在全局范围内,它是该模块的本地。
从节点全局文档
在浏览器中,顶级作用域是全局作用域。这意味着 在浏览器中,如果您在全局范围内 var,某些东西将定义一个 全局变量。在 Node 中,这是不同的。顶级范围不是 全球范围;var 节点模块中的某些内容将是本地的 该模块。
相关文章:
- node.js中Jade模板的全局变量
- (Node.js)如何更改mongoDB函数中的全局变量
- jQuery访问node.js全局变量
- 如何在 Node 中访问模块全局变量.js例如浏览器中的 window.variable
- 当 Node.js 中的参数名称相同时,如何从函数访问全局变量
- 如何保护全局变量以在 Node.js 中被覆盖
- Node中的全局变量在哪里.js隐藏
- 如何动态访问 Node 中的全局变量
- 全局变量存储在 Node.JS 中的什么位置?节点中是否有类似窗口的对象
- 关于 Node.js 中的全局变量
- 为什么全局变量被认为是不好的做法?(node.js)
- 在node.js中共享对象并避免全局变量
- javascript中node.js的全局变量作用域
- 如何使用Node.js和Redis为for循环分配全局变量
- Node.JS:为什么全局变量的内容会在回调函数之外消失?
- 我如何赋值给一个全局变量在node.js
- 给回调函数中的全局变量赋值并返回它[Node.js]
- 是否可以在Node/Express 4.0中声明全局变量?
- 通用React应用中的全局变量,Node抛出ReferenceError
- 如何将jade定义为node.js Express中的全局变量