闭包

  1. 什么是闭包
    闭包就是 函数和函数访问的函数外部变量的总和,
var num = 100
function addNum(){
  num += 1
}

在上面,变量num+函数addNum就是闭包
实际上我们经常在用的东西

  1. 为什么要用闭包
    有时候我们需要隐藏变量,而不是直接访问他,来避免外部污染,
    通过函数来模拟块,在函数内部建立一个子函数来访问隐藏的变量,
    return这个子函数给外部的变量进行调用,来对隐藏变量进行操作,
    也因此,隐藏变量无法被垃圾回收销毁,在ie中会因为bug而出现内存泄漏
function test(){
  var num = 1
  return function setNum(n){
    num = n
    return num
  }
}
var sn = test()
console.log( sn(1) )
console.log( sn(2) )
console.log( sn(3) )
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容