立即执行函数和闭包的使用和应用

立即执行函数

  1. 我们不想用全局函数
  2. 我们要使用局部变量
  3. ES5里只有函数有局部变量
  4. 于是我们声明一个function xxx(){}然后.call()
  5. 这个时候xxx是全局变量(全局函数)
  6. 所以我们不能给这个函数名字
  7. function(){}.call()
  8. 但是chrome会报错,语法错误
  9. 试出一种方法可以不报错
    1. !function(){}.call()(我们不在乎这个匿名函数的返回值,所以加个!取反没关系)

闭包和立即执行函数的联合使用

  1. 立即执行函数使得person无法被外部访问
  2. 闭包使得匿名函数可以操作person
  3. window.frankGrowUp 保存了匿名函数的地址
  4. 任何地方都可以使用window.frankGrowUp

推论:任何地方都可以使用window.frankGrowUp操作person,但是不能直接访问person

闭包
函数
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容