如何在Node.js中将字符串转换为变量名?

时间:2014-01-09 00:30:39

标签: javascript node.js

//Admin.js

var insertAdminFeed = function(s, id, timestamp){
    var admin_att_new_key = '12345';
    var admin_att_new_key2 = 'abc';
    var admin_att_new_key3 = 'zyzyz';

    var s = 'admin_att_new_key';
    console.log(global[s]); //should print '12345'
};
exports.insertAdminFeed = insertAdminFeed;

我想将一个字符串转换为node.js中的变量(我有很多键,我不想为所有这些键写if / else语句)我该怎么做?

1 个答案:

答案 0 :(得分:7)

这在JavaScript中实际上是不可能的。

您通常使用对象文字来达到类似的需求。

var key = 'foo';
obj[key] = 1;
obj['foo'];

要彻底,在JS中使用eval在技术上是可行的。但实际上,不要这样做。

eval("var "+ name + " = 'some value';");
eval("console.log("+ name  +")");