闭包
- 变量的作用域与生命周期
- 在函数内使用var声明的局部变量,在函数调用执行完后会被销毁,使用闭包将其封存起来。
- 函数内使用 赋值形式声明变量,若在函数内部找不到该变量,则顺着作用域链向外层寻找
- 作用域链寻找是一个由内而外的过程,所以函数内部能访问外部的变量,而外部无法访问函数内部的变量。
- 闭包的作用:
- 封装变量
- 延续变量生命周期
- 闭包与面向对象
- 闭包能实现面向对象。
- 闭包与内存管理
- 闭包内封存一些对dom的引用可能会造成内存泄露。可以将其设置为null消除引用。
高阶函数
- 高阶函数的定义:
- 函数可以作为参数和返回值