2014-02-12 171 views
1

我有一個變量,例如:如何在JavaScript中獲取變量名稱的字符串?

var foo = ["cool", "cool"]; 

如何獲取變量名,FOO,作爲一個字符串?換句話說,假設foo,我如何得到「foo」?我想在以下上下文中使用它,在getElementById(...)中使用「foo」:

document.getElementById("foo").innerHTML = document.getElementById("foo").innerHTML + ""; 

謝謝!

+5

你不能這樣做(除非你在全局範圍內,並且想通過'window'上的屬性進行迭代)。你可能想考慮使用_Object_來代替;即'var o = {foo:[「cool」,「cool」]};'現在說你有'var x = o.foo;''你可以遍歷'o'找到'key'使用'o [key ] === x' –

+1

你可以詳細說明你想寫的代碼嗎?目前還不清楚上面的代碼片段是如何被調用的或者您期望發生的。如果我們明白你想要做什麼,也許我們可以想出一個不涉及知道變量名的解決方案。例如,爲什麼不把字符串「foo」傳遞給函數? 'foo'的值永遠不會被使用。 –

回答

1

如果它是全局變量,則將其作爲全局對象屬性:window在瀏覽器中,global在NodeJS中。否則,你不會。

1

你環視這個錯誤的方式 - 來回答這個問題直接

給富,我如何才能「富」?

那麼,答案是...在您的代碼中輸入"foo"

在編寫代碼時,你知道你想要foo變量名的字符串表示形式,所以沒有情況下你想要的字符串值不是"foo",對吧?

這是真的,你可以參考屬性foo,例如window對象,使用window["foo"]但是這反過來也 - 你要知道這是你想要foo,故意使用"foo"得到它。所以有一個例子 - 你知道在編譯時使用什麼字符串"foo" - 它不可能是其他任何東西。

相關問題