记录前端开发学习与积累

闭包应用场景

JS闭包在开发实战中的应用

函数内创建内部函数并将内部函数赋值给外部变量情况(没有被返回的内部函数[[Scopes]]同样指向外层函数的作用域链,单独说闭包时为因为其强大的灵活性),外层函数执行结束后外部变量所指向的函数对象[[Scopes]]属性中包含了外部函数中执行产生的局部值。须知道函数的作用域实在创建时候确定的,this值是在运行时候才确定的。
都说闭包如此灵活,强大,我想知道它究竟有什么用处

  • 对象的构建
    为对象设置私有变量、私有方法(在构造函数上建特权方法访问局部变量)或静态变量和方法(在原型上建公有特权方法访问构造函数上的局部变量)
  • 事件的回调函数
    在回调函数中仍然可以访问到外层同步函数中的参数,变量或函数
  • 偏函数(柯里化)
    add = num1=> num2=> num1+num2;
Redux使用篇

  1. 1. JS闭包在开发实战中的应用