立即执行函数

142 阅读1分钟

定义、

立即执行函数是一种语法,可以让函数在定以后被立即执行

立即执行函数的组成

  • 定义一个函数
  • 将整个函数包裹在一对括号中,将函数声明转为表达式
  • 在结尾加上一对括号,让函数立即执行

代码示例

(function () {
        console.log("app")
 })()

作用

  • 页面加载完成后只执行一次的设置函数
  • 将设置函数中的变量包裹在局部作用域中,不会泄露成全局变量

传参

代码示例1

(function (who) {
   console.log('I am '+who)
}('wangcai'))

代码示例2

(function (obj) {
   console.log(obj)
})(this)

通常,全局变量作为一个参数传递给立即执行函数,这样即使函数内部不使用window也可以被访问到。

注意

通常不应该给立即执行函数传递太多参数,因为它很快会成为一个负担——为了理解代码是如何工作的,你不得不经常上下滚动源代码。

返回值

var num = (
  function () {
     return 4
  }
)()
console.log(num);

像其他函数一样,立即函数也能返回值并且可以赋值给其他变量

立即执行函数的作用:

不破坏污染全局的命名空间