基于重学前端的学习后重新理解闭包

时间: 2024-11-10 admin IT培训

基于重学前端的学习后重新理解闭包

基于重学前端的学习后重新理解闭包

基于重学前端的学习后重新理解闭包

  • 为什么写此篇文章
    • 闭包的MDN解释
    • 闭包的个人理解
    • 闭包的构成
    • 总结

为什么写此篇文章

之前对闭包的理解很是混乱,这也得益于csdn关与闭包解释的文章五花八门,诸如:闭包就是能够读取其他函数内部变量的函数,或声明在一个函数中的函数,叫做闭包函数。。。
最近在经历了Winter老师重学前端的学习之后,对闭包终于有了统一的理解,在此也分享下目前的理解。

闭包的MDN解释

一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。(最后这句话也许就是csdn一堆通俗闭包解释的由来)
在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来

闭包的个人理解

闭包本质上是绑定了其执行环境的函数,也就意味着,JS的函数就是闭包,闭包就是函数。对就是这么简单!

<