什么是闭包呢?
严格来说要满足四个条件:
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的类属性可以进行私有化。这样也是防止外部调用,有利于数据的隐藏和封装。如果多人写作开发的时候,防止方法名与他人冲突,便可利用闭包。
标签:闭包,function,函数,js,fa,fm From: https://www.cnblogs.com/zy-feng/p/16855329.html