【问题标题】:Is there a way to print dynamic variables?有没有办法打印动态变量?
【发布时间】:2016-05-31 01:52:58
【问题描述】:

我在 node.js atm 中编码。我需要创建一个动态变量并调用它。

例如:

username = 'im_a_user';

global['ws[' + username + ']'] = ws; //(yes, i want to store the connection with ws module)

但是

ws[im_a_user].send('blabla');

不起作用并且节点关闭。所以我想知道global['ws[' + username + ']'] 在调试时的样子。


你知道我如何打印它吗?或者更好的是,为什么 ws[im_a_user].send('blabla'); 中的 im_a_user 没有定义?

感谢您的宝贵时间!

【问题讨论】:

  • im_a_user不是你要使用的变量名,用引号括起来,或者使用之前定义的变量username。
  • facepalm - 引号......现在一切都说得通了:D!它对我有用。你不知道我有多开心。非常感谢 - 我的意思是很多 xD
  • 此外,点符号也可以使用:ws.im_a_user.send(...);。
  • 再次感谢您的信息!非常感谢:)

标签: javascript node.js variables dynamic equals


【解决方案1】:

可以使用方括号访问对象属性,但您必须给它一个有效的表达式:字符串文字或变量。看起来您正在引用一个未定义的变量。这就是 Node 窒息的地方。

所以尝试使用已定义的变量

var key = 'im_a_user'
ws[key].send('blabla');

或字符串文字

ws['im_a_user'].send('blabla');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-22
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 2021-11-20
    • 2011-01-10
    • 2020-06-04
    相关资源
    最近更新 更多