此代碼是完全錯誤的,但我希望它給你什麼我要去爲我的想法:如何在Javascript中創建變量,並將變化的數字添加到變量的名稱中?
var qarowquestion+obj.returnIntJson;
obj.returnIntJson的價值僅僅是一個整數。我想拿着那裏的價值,例如:2043,並且在qarowquestion的結尾添加2043。因此,我會:
var qarowquestion2043;
謝謝。
此代碼是完全錯誤的,但我希望它給你什麼我要去爲我的想法:如何在Javascript中創建變量,並將變化的數字添加到變量的名稱中?
var qarowquestion+obj.returnIntJson;
obj.returnIntJson的價值僅僅是一個整數。我想拿着那裏的價值,例如:2043,並且在qarowquestion的結尾添加2043。因此,我會:
var qarowquestion2043;
謝謝。
TGH的回覆幾乎是我所需要的,或者它是,我只是不知道如何使用它。
我改變了它,使具有編號的部分是值,而不是關鍵。現在
var myObj = {};
myObj['qarowquestion'] = "qarowquestion" + obj.returnIntJson;
,我可以訪問它:myObj.qarowwquestion
這給出了這樣的結果:qarowquestion2043
而對於一個具體的例子,在我的情況:
document.getElementById("qarow" + obj.returnIntJson).innerHTML = myObj.qarowquestion;
var myObj = {};
myObj['qarowquestion' + obj.returnIntJson] = 'some Val';
嘗試以上操作。它將利用動態JavaScript並在myObj對象上創建一個qarowquestion2043屬性。
不能創建變量,TGH提到你可以將你的值作爲一個命名屬性添加到一個對象中。
var obj = {};
obj['qarowquestion' + obj.returnIntJson] = 'xxx';
通過這種方式,你可以給你的對象適當的命名空間。
var someNameSpace = {};
someNameSpace['someObject'] = 'someVal';
希望這會有所幫助。
我正在經歷一個relevant SO post使用JavaScript中的動態變量名和accepted answer帶來了一個非常好的點(重點是我的):
由於ECMA-/ JavaScript是所有關於對象和(或者是一個函數,激活對象)。在全局作用域(= NO函數上下文)中,你隱式地寫出這些變量變量放入Global對象(=瀏覽器中的窗口)。
因此,例如(再次從回答):
function foobar() {
this.a = 1;
this.b = 2;
var name = window['a']; // === undefined as it refers to the global context and is undefined
alert(name);
name = this['a']; // === 1
alert(name); // outputs 1
alert(a); //outputs 1
//Since we are talking about context here, you could clearly do
this['qarowquestion'+obj.returnIntJson] = "foo";
alert(qarowquestion2043); //outputs foo
}
所以在本質上,變量可以在特定情境下的對象可以是真正有用的訪問。
謝謝,TGH!我稍微更新了一下。 :) – 2014-11-04 05:55:42