Javascript:服务器端动态变量名称

时间:2012-09-26 00:49:13

标签: javascript node.js dynamic-variables

如何在NodeJS中创建动态变量名?一些例子说要存储在window变量中,但我假设这是客户端Javascript。如果我错了,请纠正我。

4 个答案:

答案 0 :(得分:18)

通常你会做类似的事情:

var myVariables = {};
var variableName = 'foo';

myVariables[variableName] = 42;
myVariables.foo // = 42

答案 1 :(得分:6)

在node.js中有global上下文,它等同于客户端js中的window上下文。在普通Javascript中声明任何闭包/函数/模块之外的变量将使其驻留在全局上下文中,即作为global的属性。

我从你的问题中了解到你想要的东西类似于以下内容:

var something = 42;
var varname = "something";
console.log(window[varname]);

这在node.js中会变成:

var something = 42;
var varname = "something";
console.log(global[varname]);

答案 2 :(得分:0)

只是不知道什么坏答案会得到这么多的选票。答案很简单,但要使其复杂。

var type = 'article';
this[type+'_count'] = 1000;  // in a function we use "this";
alert(article_count);

答案 3 :(得分:0)

一种可能的解决方案可能是:
使用{{3}},可以创建一个数组并将每个动态变量(REST参数项)添加为该数组的对象。

import copy
import random

list = ['a', 'b' , 'c', 'd']
list2 = copy.deepcopy(list)
random.shuffle(list2)
for i in list2:
   # i is now a random item from original list
   do_something(i)