IIFE

作者: 阿布朗迪 | 来源:发表于2018-10-24 10:08 被阅读0次

    IIFE(Immediately-Invoked Function Expression) 立即执行函数表达式

    for(var i = 0;i < 5;i++){
        setInterval( function(){
            console.log(i)
        },500)
    }
    

    上面的代码块我们的本意是想循环输出0,1,2,3,4,但是实际却只输出5。原因是执行完循环后才对循环体内的代码执行。如何解决这个问题,才有IIFE方法进行解决。

    for(var i = 0;i < 5;i++){
        (function(i){
            setInterval( function(){
                console.log( i )
            },1000)
        })(i);
    }
    

    通过上面方法,此时后台打印可以查看已经成为我们想要到答案。

    当然还有在JQuery或者Node中避免变量污染,使用这种方法。

    ( function($){
        //代码块
    })(jQuery)
    

    相关文章

      网友评论

          本文标题:IIFE

          本文链接:https://www.haomeiwen.com/subject/dyhttqtx.html