我可以使用这样的JavaScript循环吗?
SB = new Array;
for (i = 1; i < 6; i++) {
function SB[i]() {
(code)
} // end of function
} // end of for loop
我知道这不起作用,但我怎么能做出类似的东西呢?感谢。
答案 0 :(得分:2)
创建一个匿名函数并将其返回给变量。
var SB = [];
for (i=1;i<6;i++) {
SB[i] = function() {
//(code)
}
}
请注意,javascript中的数组是0索引的。
所以你使用
获取数组中的第一项myArray[0]
最后一次使用
myArray[ myArray.length - 1 ]
所以我想你想用i=0
循环:
var SB = [];
for ( var i = 0; i < 5 ; i++) {
SB[i] = function() {
//(code)
}
}
...
console.log(SB) // [function() {},function() {},function() {},function() {},function() {}]
而不是:
[undefined, function() {}, function() {}, function() {}, function() {}, function() {}]
答案 1 :(得分:1)
var SB=[];
for (i=1;i<6;i++) {
SB[i] = function () {
...
}
}
您现在可以这样调用它:
SB[1]();
答案 2 :(得分:0)
使用括号表示法:
for ( var i = 1; i < 6; i++ ) {
SB[i] = function() {
};
}
这会将函数表达式附加到索引i
的数组中。您可以这样称呼它:
SB[ 1 ]();
SB[ 2 ]();
// etc..