1.IIFE立即执行函数

实际上IIFE的出现是为了弥补JS在作用域方面的缺陷:ES6之前只存在全局作用域、和 函数作用域。IIFE的目的是为了隔离作用域,构建私有变量,防止污染全局命名空间。

立即执行函数(Immediately-invoked function expression):(匿名函数)(实参值)
隔离作用域,不会在函数内部的命名和全局作用域的冲突,but立即执行函数是没有复用性的

  1. 为什么需要立即执行函数?<br /> 如果只是为了立即执行一个函数,那么IIFE给我们带来的好处是有限的<br /> 实际上IIFE的出现是为了弥补JS在作用域方面的缺陷:ES6之前只存在全局作用域和函数作用域<br /> IIFE的目的是为了隔离作用域,构建私有变量,防止污染全局命名空间
  2. 我们通常的理解是。将代码封装到函数中的目的是为了复用,但是也有一些函数只使用一次,这种情况下我们的目的可能是为了隔离作用域,所以既然只用一次,那么立即执行就好,ps:又省一个函数名称hiahia~~