string - NodeJS 将字符串转换为变量

标签 string node.js variables

我正在尝试使用字符串更新nodejs中变量的内容。 在客户端 JavaScript 中,这是通过使用 window[variable] 来完成的,但是因为 NodeJS 中没有“窗口”。我尝试使用“this”和“module”,但是我得到的只是一个空对象。需要帮助谢谢

代码片段:

var myVariable = 'Hello';
var exchangeVariable = 'myVariable';

this[exchangeVariable] = 'Hello World';

/*
    myVariable should equal to 'Hello World!'
*/

谢谢!

最佳答案

在直接回答您的问题之前,先介绍一些背景知识:

在 JavaScript 中,对象可以通过点符号 (someObj.property) 进行索引,也可以像示例中那样对它们进行索引 (someObj["property"]) >)

在浏览器中,window 是浏览器在其中评估代码的全局上下文。 Node 使用 variable called global .

因此,如果您想引用已全局定义的变量:

> var someGlobalVar = "hi";
> var myLookupKey = "someGlobalVar";
> global[myLookupKey]
'hi'

但是,这通常被认为是非常糟糕的做法(在 Node 和浏览器中)。造成这种情况的原因有很多,但我只关注一个:

在 Node 中,模块(每个 required 文件)应该被视为不共享全局状态(并且在某些情况下,它们无法共享状态)。我鼓励您仔细阅读modules section如果您尝试跨文件共享状态,请参阅 Node 文档。

关于string - NodeJS 将字符串转换为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377478/

相关文章:

c - 段错误错误,将元素分配给字符数组

php - PHP 中 eregi() 的良好替代方案

node.js - 将包含标题的 block 连接到 h264 中的另一个 block

Mysql - 存储过程OUT变量返回null

java - 你怎么知道java中的变量类型?

javascript - 是否可以在 JavaScript 的一行中将空字符串 ("") 转换为 undefined ?

string - 删除字符串数组中重复项的最佳算法

javascript - 为什么我运行“npm install”时会得到很多包?

node.js - AWS-SES : Adding link in my email template

c - c语言中的隐式int