[英]Can I have a function name be an array variable?
Can I have a JavaScript loop like this? 我可以拥有这样的JavaScript循环吗?
SB = new Array;
for (i = 1; i < 6; i++) {
function SB[i]() {
(code)
} // end of function
} // end of for loop
I know that doesn't work but how can I make something like that? 我知道这不起作用,但我怎么能做出类似的东西呢? Thanks.
谢谢。
Make an anonymous function and return it to the variable. 创建一个匿名函数并将其返回给变量。
var SB = [];
for (i=1;i<6;i++) {
SB[i] = function() {
//(code)
}
}
Note that arrays in javascript is 0-indexed. 请注意,javascript中的数组是0索引的。
So you fetch the first item in the array using 所以你使用获取数组中的第一项
myArray[0]
And the last using 最后一次使用
myArray[ myArray.length - 1 ]
So i think you want to loop with i=0
: 所以我认为你想循环
i=0
:
var SB = [];
for ( var i = 0; i < 5 ; i++) {
SB[i] = function() {
//(code)
}
}
.... ....
console.log(SB) // [function() {},function() {},function() {},function() {},function() {}]
Instead of: 代替:
[undefined, function() {}, function() {}, function() {}, function() {}, function() {}]
var SB=[];
for (i=1;i<6;i++) {
SB[i] = function () {
...
}
}
You can now invoke it this way: 你现在可以这样调用它:
SB[1]();
Use the bracket notation: 使用括号表示法:
for ( var i = 1; i < 6; i++ ) {
SB[i] = function() {
};
}
This attaches a function expression to the array at index i
. 这将函数表达式附加到索引
i
处的数组。 You are allowed to call it like this: 你可以像这样调用它:
SB[ 1 ]();
SB[ 2 ]();
// etc..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.