美文网首页前端杂货随记
javascript立即执行函数

javascript立即执行函数

作者: 程序蜗牛 | 来源:发表于2018-01-19 17:26 被阅读1次

    立即执行函数--IIFE (Immediately Invokable Function Expressions》

    IIFE是我们经常遇到的,IIFE是在函数声明后立即调用的函数表达式,也就是大家说的闭包

    # 两种写法模式
    (function(){
      consoloe.log("我是打印君");
    })()
    
    (function(){
        console.log("我是打印君!")
    }())
    # 结果:我是打印君
    

    这样写的好处有哪些呢?
    1、不需要为函数命名,执行完成之后就自动销毁了,防止了污染全局变量
    2、闭包会形成单独的作用域

    也是可以传参数的,具体代码如下

    (function(str){
        console.log(str)
    })("我是打印君!")
    
    # 结果:我是打印君
    

    在其他的情况下,我也会看到在function前面加! + -运算符,这些运算符都将函数声明转成函数表达式,javascript引擎会识别,并且是立即执行的函数

    !function(){
        console.log("我是打印君!")
    }()
    
    +function(){
        console.log("我是打印君!")
    }()
    
    -function(){
        console.log("我是打印君!")
    }()
    

    相关文章

      网友评论

        本文标题:javascript立即执行函数

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