jQuery在for循环中动态增加变量名

use*_*738 4 javascript variables jquery for-loop count

是否有可能将i添加到for循环中的var?在错误的语法中,它看起来像下面的代码

for(i=1; i<=countProjects; i++){

    var test + i = $(otherVar).something();

};
Run Code Online (Sandbox Code Playgroud)

谢谢!

Joe*_*erg 6

最好使用一个数组:

var test = [];

for (i = 1; i <= countProjects; i++) {
    test[i] = $(otherVar).something();
};
Run Code Online (Sandbox Code Playgroud)

然后你可以访问这样的值:

console.log(test[1]);
console.log(test[2]);
etc...
Run Code Online (Sandbox Code Playgroud)

如果你有充分的理由为每个值命名变量,你可以像这样创建它们:

for (i = 1; i <= countProjects; i++) {
    window["test" + i] = $(otherVar).something();
};

console.log(test1);
Run Code Online (Sandbox Code Playgroud)


jon*_*cys 5

正如Mat所说,你应该使用数组来实现这种功能:

var projects = [];
for (var i = 0; i <= countProjects; i++) {
    projects.push($(otherVar).something());
}
Run Code Online (Sandbox Code Playgroud)

您可以使用object["varname"]语法来创建变量名称.但它_generally_不好的做法:

var varName;
for (var i = 0; i <= countProjects; i++) {
    varName = "test" + i.toString();
    this[varName] = $(otherVar).something();
}
console.log(test1);
Run Code Online (Sandbox Code Playgroud)