柯里化函数&闭包(暂存)

78 阅读1分钟

闭包:保护&保存

  1. 函数执行形成一个私有的上下文,此上下文中的私有变量,和上下文外的变量互不干扰,也就是把这些变量保护起来了,我们把函数的这种保护机制称之为闭包。【闭包是一种机制】
  2. 闭包的优点:
  • 可以访问其他函数内部的变量

  • 可以保存数据

  • 可以封装私有数据和方法

  1. 闭包产生的场景:
  • 立即执行函数(IIFE)

  • 返回一个函数

  • 函数作为另一个函数的参数

  • 定时器、事件绑定、AJAX等的回调

  1. 闭包的应用:
  • 防抖节流(返回一个函数)

  • 科里化函数(返回一个函数)

  • 组合函数(返回一个函数)

  • 循环事件绑定(事件委托)

柯里化:又称部分求值,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。核心思想是把多参数传入的函数拆成单参数(或部分)函数,内部再返回调用下的一个单参数(或部分)函数,依次处理剩余的参数。