2016-03-04 45 views
0

我已经建立了这样的几个变量:获取瓦尔的第n个名字范围

var foo, bar, fizz, buzz, hello, world; 

现在我想找出如何让这些名称作为某种类型的集合。我试图让他们,因为我想推他们在一个数组作为一个字符串。

我希望它不需要eval或什么hacky。我正在尝试做什么?

我只需要知道如何获取名称,我宁愿自己解决其他问题。

编辑:关于来自链接副本的答案,我真的不明白他在那里做什么,因为我得到了除名字以外的所有东西。我之前读过它。

+3

[在范围内获取所有变量]的可能的重复(http://stackoverflow.com/questions/2051678/getting-all-variables-in-scope) – Cymen

+1

这听起来像是你试图用一种不好的解决方案来解决你的问题问题。你想用这些变量名称实现什么? – Volune

+0

听起来像一个典型的[XY问题](http://mywiki.wooledge.org/XyProblem) – sabithpocker

回答

0

在我看来,这将是更好,如果你已经在这里使用的JavaScript对象,并把变量作为属性:

var obj = {foo:'', bar:'', fizz:''}; 

这样你就可以访问该属性的这两个名称和它的值:

obj.foo 
for(key in obj) { 
    alert(key + ': ' + obj[key]); 
} 
+0

还有什么其他方式?我知道这是可能的,我希望我可以避免使用json的那个 – Asperger

+2

@Asperger它不是JSON,它是一个Javascript对象。 – sabithpocker

+0

@sabithpocker - 你是正确的,编辑。 阿斯伯格为什么要避免它?你能给我们多一点背景你想做什么? – Goran

0

您可以通过Object.keys()方法得到的变量列表中,但它返回该对象中所有变量有:

var ar = Object.keys(this); 
console.log(ar);