浅谈 js 闭包

163 阅读1分钟

概念

闭包(closure):指有权访问另一个函数的变量的函数

eg:

function add(a) {
	return (b) => { // 形成闭包
    	return a + b;
    }
}
// js 链式作用域:子对象会一级一级向上寻找所有父对象的变量,反之不行(函数外部不能访问函数内部的变量)。

匿名函数使用了变量 a ,致使 a 在调用结束后不会被垃圾回收机制回收。

用途

  1. 读取函数内部的变量
  2. 让这些变量的值始终保持在内存中,不会被回收。
  3. 方便调用上下文的局部变量。