如何修改箭头函数以在 IE11 中工作
How to modify arrow function to work in IE11
我了解到箭头函数在 IE11 中不起作用。所以我下面的代码在 IE11 中抛出语法错误。但是,我很难将其修改为正常功能。这是有问题的代码行:
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( n => '[data-slick-index="${n}"]' ).join(', ');
我尝试将 n =>
更改为 function(n) {}
,如下所示,但这在所有浏览器中都会出错。
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( function(n) { '[data-slick-index="${n}"]' } ).join(', ');
我做错了什么?
如果有助于了解发生了什么,请查看完整函数:
$('.text-slider').on('beforeChange', function(event, slick, currentSlide, nextSlide){
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( n => '[data-slick-index="${n}"]' ).join(', ');
$('.shimmer2').removeClass('shimmer2');
$(selectors).addClass('shimmer2');
});
谢谢!
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( n => '[data-slick-index="${n}"]' ).join(', ');
像上面那样没有大括号的箭头函数隐含地 return expression/statement 的结果。对于带大括号的箭头函数或像你在这里这样的非箭头匿名函数,你想要 return
一些明确的东西:
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map(function(n) {
return '[data-slick-index="${n}"]';
}).join(', ');
我了解到箭头函数在 IE11 中不起作用。所以我下面的代码在 IE11 中抛出语法错误。但是,我很难将其修改为正常功能。这是有问题的代码行:
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( n => '[data-slick-index="${n}"]' ).join(', ');
我尝试将 n =>
更改为 function(n) {}
,如下所示,但这在所有浏览器中都会出错。
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( function(n) { '[data-slick-index="${n}"]' } ).join(', ');
我做错了什么?
如果有助于了解发生了什么,请查看完整函数:
$('.text-slider').on('beforeChange', function(event, slick, currentSlide, nextSlide){
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( n => '[data-slick-index="${n}"]' ).join(', ');
$('.shimmer2').removeClass('shimmer2');
$(selectors).addClass('shimmer2');
});
谢谢!
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map( n => '[data-slick-index="${n}"]' ).join(', ');
像上面那样没有大括号的箭头函数隐含地 return expression/statement 的结果。对于带大括号的箭头函数或像你在这里这样的非箭头匿名函数,你想要 return
一些明确的东西:
let selectors = [nextSlide, nextSlide - slick.slideCount, nextSlide + slick.slideCount].map(function(n) {
return '[data-slick-index="${n}"]';
}).join(', ');