2016-11-24 72 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可能在一個循環中被使用,如果你有異步操作,你需要「拯救」供以後使用循環值在異步回調。但是,在這裏根本不會發生這種情況,所以IIFE根本就不是必需的。

+0

我非常感謝。簡單的解決方案來學習。 –