作用域及闭包(closure)

作用域:
1. 全局

2. 函数
    var 
    声明提升

3. 块级
    a. IIFE
    b. let/const

作用域链:
函数嵌套

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

你可能感兴趣的:(作用域及闭包(closure))