立即执行函数 加个分号喔

案发现场

立即执行函数也叫 IIFE,下文这么称

用了两个 swiper 由于由于变量名相同,打算用IIFE解决

(function () {
    var swiper = new Swiper('.job_container', {
        slidesPerView: 2,
        spaceBetween: 30,
        centeredSlides: true,
        loop: true,
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        }
    });
})()
(function () {
    var swiper = new Swiper('.study_container', {
        slidesPerView: 2.3,
        spaceBetween: 20
    });
})();

这样的话第二个立即执行函数不起作用

后来尝试给第一个IIFE加份号 ;

ok,问题解决了

我又试了一下把第二个IIFE作为第一个的参数(这两个没有先后顺序的,是因为 var 提升我才打算这么做)

(function () {
    var swiper = new Swiper('.job_container', {
        slidesPerView: 2,
        spaceBetween: 30,
        centeredSlides: true,
        loop: true,
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        }
    });
}((function () {
    var swiper = new Swiper('.study_container', {
        slidesPerView: 2.3,
        spaceBetween: 20
    });
})()))

/* (function() {})() 和 (function(){}()) 是一样的 */

也ok

小结:不加分号会代码合并压缩,最好就加分号,行首看情况(如果上文不是以分号结尾,会和上文合并吗)是否也加分号。

你可能感兴趣的:(立即执行函数 加个分号喔)