js中的闭包

什么是闭包呢?

严格来说要满足四个条件:

1.有函数的嵌套
2.内部函数引用外部作用域的变量参数
3.返回值是函数
4.创建一个对象函数,让其长期驻留
 1  function fa() {
 2         let a = 10
 3         function fb() {
 4           a--
 5           console.log(a)
 6         }
 7         return fb
 8       }
 9       var fm = fa()
10       fm = null

上面的代码就是一个完整的闭包。

闭包常用场景:

1.因为全局变量容易污染环境,而局部变量有无法长期驻留内存。这种情况下可以使用闭包。

2.进行私有化。类似于java的类属性可以进行私有化。这样也是防止外部调用,有利于数据的隐藏和封装。如果多人写作开发的时候,防止方法名与他人冲突,便可利用闭包。

posted @ 2022-11-03 17:47  一粒金灿米  阅读(44)  评论(0编辑  收藏  举报