js高级_96、IIFE

IIFE

全称:Immediately-Invoked Function Expression(立即执行(调用)函数表达式,也称匿名函数自调用)

作用:

*隐藏实现(全局作用域不可访问其内部的方法或变量,除非故意暴露出去)

*不会污染外部(全局)命名空间

(function () { //匿名函数自调用
    var a = 3
    console.log(a + 3)
  })()
  var a = 4
  console.log(a)

这样匿名函数里面的a不会影响到外面全局的a

*用它来编写js模块,也就是单独的js代码。

(function () {
    var a = 1
    function test () {
      console.log(++a)
    }
    window.$ = function () { // 向外暴露一个全局函数,$是取的名字
      return {
        test: test
      }
    }
  })()
  $().test() // 1. $是一个函数 2. $执行后返回的是一个对象
posted @ 2022-03-13 08:35  青仙  阅读(28)  评论(0编辑  收藏  举报