我已阅读下一页的解决方案,但仍然不明白如何将其应用于我的循环和功能。如何在循环外移动以下函数?
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 :(得分: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。