我已经建立了这样的几个变量:获取瓦尔的第n个名字范围
var foo, bar, fizz, buzz, hello, world;
现在我想找出如何让这些名称作为某种类型的集合。我试图让他们,因为我想推他们在一个数组作为一个字符串。
我希望它不需要eval或什么hacky。我正在尝试做什么?
我只需要知道如何获取名称,我宁愿自己解决其他问题。
编辑:关于来自链接副本的答案,我真的不明白他在那里做什么,因为我得到了除名字以外的所有东西。我之前读过它。
我已经建立了这样的几个变量:获取瓦尔的第n个名字范围
var foo, bar, fizz, buzz, hello, world;
现在我想找出如何让这些名称作为某种类型的集合。我试图让他们,因为我想推他们在一个数组作为一个字符串。
我希望它不需要eval或什么hacky。我正在尝试做什么?
我只需要知道如何获取名称,我宁愿自己解决其他问题。
编辑:关于来自链接副本的答案,我真的不明白他在那里做什么,因为我得到了除名字以外的所有东西。我之前读过它。
在我看来,这将是更好,如果你已经在这里使用的JavaScript对象,并把变量作为属性:
var obj = {foo:'', bar:'', fizz:''};
这样你就可以访问该属性的这两个名称和它的值:
obj.foo
for(key in obj) {
alert(key + ': ' + obj[key]);
}
还有什么其他方式?我知道这是可能的,我希望我可以避免使用json的那个 – Asperger
@Asperger它不是JSON,它是一个Javascript对象。 – sabithpocker
@sabithpocker - 你是正确的,编辑。 阿斯伯格为什么要避免它?你能给我们多一点背景你想做什么? – Goran
您可以通过Object.keys()方法得到的变量列表中,但它返回该对象中所有变量有:
var ar = Object.keys(this);
console.log(ar);
[在范围内获取所有变量]的可能的重复(http://stackoverflow.com/questions/2051678/getting-all-variables-in-scope) – Cymen
这听起来像是你试图用一种不好的解决方案来解决你的问题问题。你想用这些变量名称实现什么? – Volune
听起来像一个典型的[XY问题](http://mywiki.wooledge.org/XyProblem) – sabithpocker