javascript立即执行函数

立即执行函数--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("我是打印君!")
}()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容