0
点赞
收藏
分享

微信扫一扫

js-立即执行函数表达式(IIFE)

凉夜lrs 2022-01-06 阅读 75

1.什么是IIFE

2.作用

  • 隐藏实现某个功能
  • 不会污染外部(全局)命名空间
  • 可以用来编写js模块

例子

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>IIFE</title>
</head>

<body>
  <script>
    (function() { // 匿名函数自调用
      var a = 3
      console.log("这是函数里面的a:", a);
      console.log("这是匿名函数自调用");
    })()
    var a = 4
    console.log("这是全局里面的a:", a);

    (function() {
      var a = 1

      function test() {
        console.log("test函数里面的a:", a);
      }
      window.b = function() {
        // 向外暴露一个全局函数
        return {
          test,
        }
      }
    })()

    b().test()
    // 1.b是全局中的一个函数名
    // 2.b执行后返回的是一个对象,可以通过“对象.属性”的方式获取对象中的属性(执行对象中的方法)
  </script>
</body>

</html>
举报

相关推荐

0 条评论