什么是闭包

作者: 程序小小黑 | 来源:发表于2021-03-17 10:11 被阅读0次

什么是闭包?

function A() {
  let a = 1
  function B() {
      console.log(a)
  }
  return B
}

在上面的代码中,函数A有一个局部变量a,有一个函数B,B中可以访问函数A中的局部变量A,这就形成了一个闭包。

闭包的作用是什么?

闭包常常用来「间接访问一个变量」

如果不用闭包,可以直接定义一个全局变量
window.test=100
但是如果不小心修改了这个值怎么办,
所以我们不能让别人直接访问这个变量。
这就就可以用局部变量。
但是局部变量别人有访问不到,所以就需要一个访问器(函数),让别人可以间接访问。
例如:

!function(){
  let test= 100
  window.addTest = function(){
    test ++
  }
  window.cutTest = function(){
    lives --
  }
}()

其实我们经常在写代码的时候就用到了闭包,或者说形成了闭包,但是我们不一定发现这就是闭包,只是它满足了闭包的定义!

相关文章

  • 前端常见问题总结

    什么是闭包?闭包的用途是什么?闭包的缺点是什么? 什么是闭包 闭包:内部函数总是可以访问其所在的外部函数中声明的参...

  • python函数部分

    什么是闭包,闭包的常用用法,怎样判断是不是闭包,闭包的作用是 1、什么是闭包 2、常用用法 3、判断是不是闭包 4...

  • 闭包、call-apply-bind 的用法 、HTTP状态码

    一、什么是闭包?闭包的用途是什么?闭包的缺点是什么? 答 :1、什么是闭包:如果一个函数用到了外部的变量,那么这个...

  • Escaping Closures - Swift

    逃逸闭包和非逃逸闭包 逃逸闭包(escaping closure),什么是逃逸闭包?苹果官方给的定义是:当一个闭包...

  • 深入解析Javascript闭包及实现方法

    一、什么是闭包和闭包的几种写法和用法 1、什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的...

  • 面试题(day-2)

    1 ,什么是闭包?闭包有什么好处?使用闭包要注意什么? 闭包:函数嵌套函数,内部函数可以引用外部函数的参数和变量,...

  • 闭包,定时器

    问题 1.什么是闭包? 有什么作用 闭包(英语:Closure),又称词法闭包(Lexical Closure)或...

  • python函数之闭包

    目录 python函数之闭包什么是闭包python中的namespace闭包的条件闭包的优点 python函数之闭...

  • 再次学习 Swift 闭包

    Swift 闭包 1. 什么是闭包? 闭包是自包含的函数代码块,可以在代码中被传递和使用。 2. 闭包能做什么? ...

  • 前端面试题

    1 ,什么是闭包?闭包有什么好处?使用闭包要注意什么? 详情可参考:http://www.jianshu.com/...

网友评论

    本文标题:什么是闭包

    本文链接:https://www.haomeiwen.com/subject/laescltx.html