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

1,理解

  *全称:Immmediately-Invoked Function Expression

2,作用

  *隐藏实现

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

  *用它来编码js模块

  

(function() { // 匿名函数自调用

    var a = 3;

    console.log(a + 3);

  })()

var a = 4

console.log(a)

;(function() {  // 分号不写会报错,因为上一句(console.log)没有写分号,导致让当前自执行函数将上一句的()视为函数

  var a = 1; // 不会污染外部(全局)命名空间
  function test () {
    console.log(a++);
  }

window.$ = function() { // 向外暴露一个全局函数
  return {
  test: this.test}
  }
})();

// 如果想要调用test,则

$().test(); // 1,$是一个函数 2,$执行后返回的是一个对象

 

posted @ 2020-09-03 09:29  叶子0321~  阅读(220)  评论(0编辑  收藏  举报