闭包

2023-06-08  本文已影响0人  wwmin_

闭包

个人简单理解:
函数A返回函数B, B中有对函数A空间变量的引用, 当执行函数B时函数A空间变量一直存在,即闭包。基本形式: 一个返回函数的函数。

举例: 创建一个返回变量的函数, 每次生成的变量的id要不同

function initData() {
  let i = 0;
  return () => ({
    id: i++,
    name: ""
  })
}
const addData = initData();

let dataList = [addData(),addData(),addData()];
console.log(dataList);
// 闭包函数执行的结果:
// [{"id":0,"name":""},{"id":1,"name":""},{"id":2,"name":""}]

释放内存, 将外层函数A置空即可

initData = null;
上一篇 下一篇

猜你喜欢

热点阅读