簡體   English   中英

我可以將函數名稱作為數組變量嗎?

[英]Can I have a function name be an array variable?

我可以擁有這樣的JavaScript循環嗎?

SB = new Array;

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

   function SB[i]() {

         (code)

   } // end of function

} // end of for loop

我知道這不起作用,但我怎么能做出類似的東西呢? 謝謝。

創建一個匿名函數並將其返回給變量。

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() {}]
var SB=[];
for (i=1;i<6;i++) {
    SB[i] = function () {
        ...
    }
}

你現在可以這樣調用它:

SB[1]();

使用括號表示法:

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

    SB[i] = function() {

    };

}

這將函數表達式附加到索引i處的數組。 你可以像這樣調用它:

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

// etc..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM