2

関数スコープ内 (グローバルではない) で for ループが使用するいくつかの変数が必要です。

このような関数内で for ループをラップしようとしましたが、コンソール エラーが発生します。

function() {
    var data = livingroomTableData;
    for(var i = data[0]; i < data[1]; i++) {
        var elemvalue = data[2] + format(i) + ".png";
        livingroomTableArray[i] = elemvalue;
    }
}

データ変数に、この for ループ内でのみ (グローバルではなく) livingroomTableData の値を持たせたいと考えています。他のループでは、別の変数をデータ変数に入力します。

そうそう、お察しのとおり、私は全くの初心者です。:S

4

3 に答える 3

1

JavaScriptには関数スコープしかなく、ブロックスコープが存在しないため、 for ループ内だけに変数を入れることはできません。あなたができることは、関数スコープを作成することです。

コード例:

(function(livingroomTableData) {
    var data = livingroomTableData;
    //... the rest code
})(livingroomTableData);
于 2012-05-31T08:03:34.680 に答える
1

大きな問題は次の行です。

for(var i = data[0]; i < data[1]; i++) {  

つまりi、配列の最初の要素として開始し、ループ内でコードを実行し、各実行の最後にが の 2 番目の要素以上になるiまで 1ずつ増やします。idata

作業バージョンを表示するために書き直しますが、実際に何をしたいのか明確ではありません。

于 2012-05-31T08:04:32.350 に答える
0
function() {
    for(var i = 0; i < livingroomTableData.length; i++) {
        var data = livingroomTableData[i];
        //your code here...
    }
}
于 2012-05-31T08:17:57.787 に答える