如何使用for循环动态创建变量,并返回.
function createVariables()
{
for ( i=0; i<=20; i++ )
{
var account = i;
return var account + i;
}
}
Run Code Online (Sandbox Code Playgroud)
目标是得到以下结果:
var account1;
var account2;
var account3; and etc.....
Run Code Online (Sandbox Code Playgroud)
Dom*_*nic 96
你应该使用一个数组:
function createVariables(){
var accounts = [];
for (var i = 0; i <= 20; ++i) {
accounts[i] = "whatever";
}
return accounts;
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以访问accounts[0]通过accounts[20].
Not*_*tMe 17
我知道如何做到这一点的唯一方法是使用JavaScript eval函数.
就像是 eval("account" + 1 + "='some value'");
http://www.w3schools.com/jsref/jsref_eval.asp
但是,我认为@Domenic有更好的答案.
小智 10
我不确定是否要回答一个老问题,但是我在自己寻求答案时偶然发现了这个问题。
for (var i = 1; i < 11; i++) { // Creating 10 objects
window["Object"+i] = new Object();
}
console.log(Object7); // is not undefined
Run Code Online (Sandbox Code Playgroud)
上述代码在创建动态对象时循环到 10,如https://www.codecademy.com/en/forum_questions/51068e93f73ad4947a005629 所述
小智 8
我发现这是最简单的解决方案
for (var i = 0; i < 10; i++) {
this["RONAK"+i] = "MY VAL";
}
Run Code Online (Sandbox Code Playgroud)
输出
RONAK0 = "MY VAL"
RONAK1 = "MY VAL"
RONAK2 = "MY VAL"
...
RONAK9 = "MY VAL"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75596 次 |
| 最近记录: |