我已經建立了這樣的幾個變量:獲取瓦爾的第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