闭包
变量作用域
变量根据作用域的不同分为两种:全局变量和局部变量
- 函数内部可以使用全局变量
- 函数外部不可以使用局部变量
- 当函数执行完毕,本作用域内的局部变量会销毁
什么是闭包
闭包(closure)指有权访问另一个函数作用域中变量的函数。——《JavaScript高级程序设计》
简单理解就是,一个作用域可以访问另外一个函数内部的局部变量。
闭包的主要作用
延伸了变量的作用范围
闭包应用
- 循环注册点击事件
立即执行函数也称为小闭包,因为立即执行函数里面的任何一个函数都可以使用它传递过来的变量 - 循环中的setTimeout()
- 计算打车价格