美文网首页
关于闭包

关于闭包

作者: 印第安老斑鸠_333 | 来源:发表于2019-03-08 22:00 被阅读0次

1.什么是闭包

闭包

答:函数xxx里面有一个变量a和一个函数yyy,函数yyy能够获取到变量a,

        函数yyy   与   函数xxx里面的变量a   就是一个闭包。

2.闭包的作用

想要了解什么是闭包,首先需要知道变量的作用域。就是JS中的全局作用域函数作用域

函数内部可以获取全局作用域的变量,反过来就不行。

同理,如果函数里面还有还有函数,那么里层函数能够获取外部函数作用域的变量,反过来就不行。

也就是说,父级作用域里面的变量对子级都是可见的,若子级想获取一个自身没有声明变量,就会逐级向上寻找,获取离自身最近的那个。而子级作用域的变量对父级就不见了。

综上所诉:

①,闭包能够让变量保存在内存中。因为内层函数对外层作用域变量的持续引用,所以在调用函数是能够保证变量保存在内存中不被回收。

②,能够让外层作用域访问到内层作用域的变量。

③,闭包能够隐藏(保护)一个变量。也就是说,你只能通过调用函数来操作变量,而不能通过其他途径去修改这个变量。

相关文章

  • 闭包介绍

    闭包 关于闭包的定义: A closure is the combination of a function an...

  • SwiftUI 里的 swift 闭包总结

    创建 UI 时的闭包使用 在 SwiftUI 里闭包出现的频率特别高,这里我重新梳理了下闭包的定义。 关于闭包 闭...

  • JavaScript - 闭包

    理解 关于闭包 答案: 用arguments.callee和闭包实现的函数封装 应用 利用闭包实现自动递增计数

  • 关于闭包

    闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达...

  • 关于闭包!!!

    写这篇文章时的心情是十分忐忑的,因为对于我们今天的主角:闭包,很多小伙伴都写过关于它的文章,相信大家也读过不少,那...

  • 关于闭包

    闭包的定义: MDN javascriptkit 词法作用域 (lexical environment) 函数在执...

  • 关于闭包

    闭包的英文是closure,又称词法闭包(Lexical Closure)和函数闭包(Function Closu...

  • 关于闭包

    卡尔维诺中文站留言板这个帖子专门用作卡尔维诺中文站的留言板,欢迎大家留言和提问。...阮一峰2007-01-04T...

  • 关于闭包

    尾随闭包(Trailing Closures) * 如果函数需要一个闭包参数作为参数,且这个参数是最后一个参数,而...

  • 关于闭包

    1. 什么是闭包? 有什么作用 闭包: 作用:1.可以读取函数内部的变量:(如)0_1482243109358_Q...

网友评论

      本文标题:关于闭包

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