闭包 二

闭包就是块级作用域:js执行

边解析边执行  脚本语言的特性  在执行的时候预解析已经完成,就提升了变量

定义的变量被函数包着  外界无法访问, 这就是闭包

在js中解决的就是如何访问(沙箱模式:把需要的变量挂在到window汤暴露出去)

无限地归的时候内存不够  因为每次调用都会生成一个新的变量;用闭包解决,将需要的值用函数包裹,之调用一次外界并接收,之后只调用内部函数;缺点:每次只能返回一个值;

因此我们让返回值变成对象,打包我们要的值用对象的形式全部返回(比返回数组有优势)

沙箱是一个经典的应用场景

使用闭包完成一些功能的时候可以隐藏一些数据特性  (createCache函数)

原文地址:https://www.cnblogs.com/hzhao/p/5496758.html