闭包就是块级作用域:js执行
边解析边执行 脚本语言的特性 在执行的时候预解析已经完成,就提升了变量
定义的变量被函数包着 外界无法访问, 这就是闭包
在js中解决的就是如何访问(沙箱模式:把需要的变量挂在到window汤暴露出去)
无限地归的时候内存不够 因为每次调用都会生成一个新的变量;用闭包解决,将需要的值用函数包裹,之调用一次外界并接收,之后只调用内部函数;缺点:每次只能返回一个值;
因此我们让返回值变成对象,打包我们要的值用对象的形式全部返回(比返回数组有优势)
沙箱是一个经典的应用场景
使用闭包完成一些功能的时候可以隐藏一些数据特性 (createCache函数)
时间: 2024-12-09 23:34:40