2016-03-04 47 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);