Toc
  1. 定义
  2. 优点
  3. 缺点
  4. 用途
  5. 作用域
Toc
0 results found
Utone
闭包
2020/04/25

定义

能够访问另一个函数作用域变量的函数

基本类型的值一般存在栈内存中
引用类型的值一般存在堆内存中

优点

  • 变量常驻内存,对于实现某些业务很有帮助,比如计数器之类的。
  • 架起了一座桥梁,让函数外部访问函数内部变量成为可能。
  • 私有化,一定程序上解决命名冲突问题,可以实现私有变量。

缺点

变量常驻在内存中,其占用内存无法被 GC 回收,导致内存溢出

用途

  1. 读取函数内部的变量
  2. 让这些变量的值始终保持在内存中
  3. 方便调用上下文的局部变量。可用于代码封装

作用域

var a = 10;
(function () {
    console.log(a)
    a = 5
    console.log(window.a)
    var a = 20;
    console.log(a)
})()

underfined
10
20

局部变量var a = 20;在当前作用域会变量声明提升机制,所以为underfined
打赏
支付宝
微信
本文作者:Utone
版权声明:本文首发于Utone的博客,转载请注明出处!