闭包是在作用域外部能够访问作用域内部的变量,或者说,可以在函数外部访问函数内部的变量,换一种更广泛的说法就是可以 凡是访问函数内部的变量的都叫闭包。至于他的作用和缺点都是因为JS回收机制导致的,因为JS会在变量使用过后将其清理,但是闭包调用了函数的变量,所以函数的变量将会一直保存下来,又因为变量处于函数作用域中,变量的存储环境比较干净,不会被污染,所以闭包经常用来保存一个需要持久保存的变量。
摘录自知乎某位大神关于闭包解析文章的评论里,看了这么多关于闭包的文章,感觉总是一头雾水,看到这个评论感觉有点顿悟,也跟我理解的闭包比较吻合,记录一下以便以后温故知新。
另外可参考:深入理解javascript原型和闭包(15)——闭包 - 王福朋 - 博客园
这位大神写的也比较容易理解
685

被折叠的 条评论
为什么被折叠?



