我如何可以連接變種名稱的JavaScript?:申報新瓦爾如何連接JavaScript中的var名稱?
var foo = 'var';
var bar = 'Name';
我如何聲明變量varName中?
我如何可以連接變種名稱的JavaScript?:申報新瓦爾如何連接JavaScript中的var名稱?
var foo = 'var';
var bar = 'Name';
我如何聲明變量varName中?
試着這麼做:
window[foo + bar] = "whatever";
alert(varName);
,除非你是絕對肯定這是怎麼回事在不使用eval函數窗口[]更安全,如果你所做的只是變量訪問
警告:VaporCode!關閉我的頭頂...
window[foo + bar] = "contents of variable varName";
這是否行得通?
我該如何解決這個問題? – Babiker 2009-05-28 04:00:54
有可能是一個更好的辦法,但EVAL應該這樣做
eval('var ' + foo + bar);
動態聲明本地變量(即var fooName
),我想你可以使用eval
:
eval('var ' + foo + bar);
最好避免eval
不過,如果你能避免它(見related question)。
更好的方法是設置對象屬性。定義一個全局變量相當於全局對象window
上設置屬性:
window[foo+bar] = 'someVal';
您可以在適當另一個對象替代window
。
本地:
this[foo+bar] = true;
全球:
window[foo+bar] = true;
只是出於好奇,爲什麼你需要做的是什麼?有機會,你做錯了什麼。 – 2009-05-28 03:06:49
它使Javascript更難閱讀,因爲你不能通過使用這樣的簡單搜索來搜索聲明變量的位置(「var [variable name]」)。 – 2009-05-28 03:35:00
我已經預先聲明瞭用戶可能基於用戶文本輸入調用的var名稱。 – Babiker 2009-05-28 03:40:48