2016-11-24 10 views
1

次のページで解決策を読みましたが、それをループおよび関数に適用する方法がまだわかりません。次の関数をループ外に移動するにはどうすればよいですか?ループ外の関数の移動

How to move functions outside a loop

var i; 
    var chap = '.nav__chapter-'; 
     for (i = 0; i < 7; i++) { 
     var precedingZero = (i<10) ? '0' : ''; 
      (function(i) { 
       $(chap + precedingZero + i).addClass('toggleAria'); 
      })(i); 
     } 

私はすべてに適用することができ、それを理解し、一度ので、私はこのようないくつかを持っています。とても密集して申し訳ありません。

答えて

0

ループ内にIIFE(直ちに呼び出される関数式)は必要ありません。

var chap = '.nav__chapter-', precedingZero; 
for (var i = 0; i < 7; i++) { 
    precedingZero = (i < 10) ? '0' : ''; 
    $(chap + precedingZero + i).addClass('toggleAria'); 
}  

あなたが非同期操作を持っていて、非同期コールバックで後で使用するためにループ値を「保存」する必要がある場合は、アン生命維持がループ内で使用される可能性があります:あなたはこれに変更することができます。しかし、それはここでは起こっていないので、IIFEは単に必要ではありません。

+0

私は多くの感謝を得る。から学ぶためのシンプルなソリューション。 –

関連する問題