作用域:
1. 全局
2. 函数
var
声明提升
3. 块级
a. IIFE
b. let/const
作用域链:
函数嵌套
闭包(Closure)
函数嵌套,在内嵌函数中使用到外部函数的局部变量(即内嵌函数功能的实现依赖于外部函数中的局部变量),
外部函数中返回了对内嵌函数的引用(在外部函数调用结束后还可以去引用到内部函数),这种情况就是闭包。
作用:延长函数体内部局部变量的生命周期。
当在函数外部还希望能够继续调用函数内部局部变量时,可使用闭包。
使用:
运动 animate
ajax
求点击按钮的索引
对象私有属性
........