JavaScript闭包
- November 23, 2019
- aaaaaAndy
作用域
作用域决定变量的生命周期及其可见性,当我们创建一个函数,就会生成一个新的作用域。值得一提的是在ES6之前,之后全局作用域和函数作用域,但是在ES6之后,出现的let和const可以实现块级作用域。
什么是闭包
闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。
由于闭包会携带包含它的函数的作用域,因此会比其他函数占用更多的内存,所以过度使用闭包可能会导致内存占用过多。
闭包几种情况
Timer
变量x将一直存活着,直到定时器的回调执行或者被清除。
1
2
3
4
5
6
(function autorun()
Continue reading