在循环外移动函数

时间:2016-11-24 01:11:40

标签: jquery function loops

我已阅读下一页的解决方案,但仍然不明白如何将其应用于我的循环和功能。如何在循环外移动以下函数?

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);
        }

我有一些这样的,所以一旦我理解它,我可以适用于所有人。抱歉这么密集。

1 个答案:

答案 0 :(得分:0)

你根本不需要你的IIFE(立即调用函数表达式)。你可以改为:

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

如果您有异步操作并且需要&#34;保存&#34;可能会在循环内部使用IIFE。一个循环值,供以后在异步回调中使用。但是,这根本不会发生,所以根本不需要IIFE。