我已经在下一页读取了解决方案,但仍然不了解如何将其应用于我的循环和功能。如何在循环外移动以下功能?
如何在循环外移动功能
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);
}
我有一些这样的人,所以一旦我理解它,我就可以申请所有人。很抱歉如此密集。
您根本不需要iife(立即调用函数表达式)。您可以更改为:
var chap = '.nav__chapter-', precedingZero;
for (var i = 0; i < 7; i++) {
precedingZero = (i < 10) ? '0' : '';
$(chap + precedingZero + i).addClass('toggleAria');
}
如果您具有异步操作,则可能在循环中使用IIFE,并且需要"保存"一个循环值,以便以后在异步回调中使用。但是,这根本不是在这里发生的,因此根本不需要IIFE。