1

このようなJavaScriptループを作成できますか?

SB = new Array;

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

   function SB[i]() {

         (code)

   } // end of function

} // end of for loop

私はそれがうまくいかないことを知っていますが、どうすればそのようなものを作ることができますか?ありがとう。

4

3 に答える 3

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() {}]
于 2012-11-18T13:10:23.440 に答える
1
var SB=[];
for (i=1;i<6;i++) {
    SB[i] = function () {
        ...
    }
}

これで、次の方法で呼び出すことができます。

SB[1]();
于 2012-11-18T13:10:23.243 に答える
0

角かっこ表記を使用します。

for ( var i = 1; i < 6; i++ ) {

    SB[i] = function() {

    };

}

これにより、インデックスの配列に関数式が付加されますi。あなたはそれをこのように呼ぶことが許されています:

SB[ 1 ]();
SB[ 2 ]();

// etc..
于 2012-11-18T13:10:19.693 に答える