的名字,我想在JavaScript中創建一個新的變量,但它的名字應該做一個陳舊的部分和可變一個這樣的:的Javascript:給一個變量由2個變量
tab_counter = 1;
var editor + tab_counter = blabla
以及我想要的在這種情況下,新的變量名稱爲editor1,這可能嗎?
的名字,我想在JavaScript中創建一個新的變量,但它的名字應該做一個陳舊的部分和可變一個這樣的:的Javascript:給一個變量由2個變量
tab_counter = 1;
var editor + tab_counter = blabla
以及我想要的在這種情況下,新的變量名稱爲editor1,這可能嗎?
不能創建一個獨立的變量名稱的方式(除非全球)(編輯或除非eval()
),但你可以創建一個對象屬性:
var tab_counter = 1;
var someObject = {};
someObject['editor' + tab_counter] = "bla bla";
你可以像這樣的「窗口」屬性創建全局變量,但你可能不應該因爲全局變量讓小貓哭泣。
(現在,如果你真的只是通過增加計數器索引,你可能會使用一個數組只考慮。)
編輯也看到@ Birey的有點不安,但完全正確的觀察,您可以使用「 eval()「來做你想做的事情。
+1爲反對做小貓提供建議cwy –
所有你善良的人投票我都忽略了這樣一個事實,即答案不像原來寫的那樣完全正確:內置的「eval()」可以做什麼OP想要的,如果他能忍受的話! – Pointy
我贊成你對小貓的好意。我認爲答案很糟糕:D –
你可以通過Birey使用的eval
方法,或者你可以創建一個對象,如自定義屬性...
obj[editor + tab_counter] = blabla;
但它聽起來像是你要去這樣做無論你做什麼以一種特別可怕的方式。如果你只是想儲存多個項目,你可以索引使用數組...
var array = [];
array[0] = blabla;
array[1] = blabla2;
alert(array[0]); //shows value of blabla
alert(array[1]); //shows value of blabla2
有可能
var tab_counter=1;
eval("var editor"+tab_counter+"='blah'")
alert(editor1);
eval("var editor"+tab_counter+1+";")
editor2='blahblah';
alert(editor2);
你是你的代碼的創建者,你應該知道你的變量。簡要解釋你的情況,你究竟想要達到什麼目的。 – Birey
我在佈局中有一個可變數量的選項卡:每次我創建一個新選項卡時,它都會執行tab_counter ++現在我想爲每個選項卡編輯器創建一個新的變量+ tab_counter,我們就可以。然後用戶在標籤號16中,並且有一個名爲tab_current = 16的變量;現在我想使用tab_current使用editor16,我該怎麼做? –
@Matteo有一個名爲'tabs'的數組,當你創建一個新的標籤時,在'tabs'中存儲對它的引用。例如'tab [tab_counter] = newTab'。 –
eval(「var editor」+ tab_counter); – Birey
使用一個[數組](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array) – Mat
然後我怎麼可以用它來形容它? –