如何理解闭包?
1、闭包是js的副产品,当你的函数访问函数外部的变量的时候,js形成闭包,闭包实际上是作用域的逐级查找,当B函数执行完成之后销毁,此时a函数的被b函数引用,值并没有被销毁而是在内存中保存了下来
function a(){ var count=0; function b(){ count++ console.log(count) } return b; } var c=a(); c();//1 c();//2
2、闭包应用优点
当想要提升性能的时候,在可控的小应用可以用内存换性能
3、闭包应用缺点
它的优点也将成为它的缺点,任何东西物极必反,闭包一旦用的过多则会占用大量内存导致应用缓慢
总结:不必纠结什么是闭包,也许你写的每一个函数都是闭包。