已解决
JS进阶-闭包
来自网友在路上 163863提问 提问时间:2023-09-26 20:25:08阅读次数: 63
最佳答案 问答题库638位专家为你答疑解惑
概念:一个函数对周围状态的引用捆绑在一起,内层函数中访问到其外层函数的作用域
简单理解:闭包(Closure)=内层函数+外层函数的变量
function outer() {const a = 1function f() {console.log(a)}f()}
outer()
闭包作用:封闭数据,实现数据私有,外部也可以访问函数内部的变量
基本格式:
function outer() {let i = 1function fn() {console.log(i)}return fn}
const fun = outer()
fun()
或简写为:
function outer() {let i = 1return function () {console.log(i)}}
const fun = outer()
fun()
闭包应用:实现数据的私有,防止数据被别人在外部篡改
比如,我们要做个统计函数调用次数,函数调用一次,就++
function count() {let i = 0return function () {i++console.log(`函数被调用了${i}次`)}}
const fun = count()
fun()
但是闭包会有内存泄漏的问题
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"JS进阶-闭包":http://eshow365.cn/6-14147-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: Zookeeper-集群介绍与核心理论
- 下一篇: 使用JQ获取并渲染三级联动分类数据