一、闭包
《JavaScript 高级程序设计》:
闭包是指有权拜访另一个函数作用域中的变量的函数
《JavaScript 权威指南》:
1、函数嵌套函数
2、函数外部能够援用内部的参数和变量
3、参数和变量不会被垃圾回收机制回收
闭包更精确的说是一项技术或者一个个性
闭包的次要是为了解决 ES6之前 JavaScript 只有全局作用域和部分作用域的问题,解决全局作用域下变量易被净化,函数作用域下因为 JavaScript 垃圾回收机制函数调用完结后变量随之销毁的问题。通过函数嵌套并将返回的函数赋值给一个变量,造成一个作用域链,使得被赋值的变量不被销毁之前函数也不会销毁,这种技术或者个性应该被称为“闭包”。
次要利用场景
1、防抖节流
2、创立公有函数、变量或办法
3、待补充。。。