(面试题)闭包概念(构成)及作用(用途)、影响

77 阅读1分钟

闭包:内层函数+引用的外层函数变量 作用:用外部函数把变量保护起来,实现数据的私有(让变量实现私有化) 附:外部可以使用这个变量,但是无法直接修改这个变量,因为这个变量(数据)是我私有的 用途:防抖、节流 影响:内存泄漏 附:(1)result是一个全局变量,代码执行完毕不会立即销毁 (2)result使用fn函数 (3)fn用到fun函数 (4)fun函数里面用到count (5)count被引用就不会被回收,所以一直存在

function fn(){
let count = 1
function fun(){
  count++
  console.log(`函数被调用${count}次`)
 }
 return fun

} const result = fn() result()//2 result()//3 闭包释放:result = null (增加:不一定用到return,不一定造成内存泄漏)

image.png

image.png