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的类属性可以进行私有化。这样也是防止外部调用,有利于数据的隐藏和封装。如果多人写作开发的时候,防止方法名与他人冲突,便可利用闭包。
本文来自博客园,作者:一粒金灿米,转载请注明原文链接:https://www.cnblogs.com/zy-feng/p/16855329.html