【问题标题】:Moving function outside a loop在循环外移动函数
【发布时间】:2017-04-08 04:20:51
【问题描述】:

我已阅读下一页上的解决方案,但仍然不明白如何将其应用到我的循环和函数中。如何将以下函数移出循环?

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

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

【问题讨论】:

    标签: jquery function loops


    【解决方案1】:

    您根本不需要循环中的 IIFE(立即调用的函数表达式)。你可以改成这样:

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

    如果您有异步操作并且需要“保存”循环值以供以后在异步回调中使用,则可以在循环内使用 IIFE。但是,这里根本不会发生这种情况,因此根本不需要 IIFE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多