Dispatch分派器

// 实现效果
let account =   makeAccount(100)
account('take')(25) //75
account('save')(10) //85

// ----------------------------------------

let makeAccount = (money) => {
  let take = (n) => {
    money = money -n
    return money
  }
  let save = (n) => {
    money = money + n
    return money
  }
  let dispatch = (m) => {
    return (
      m === 'take' ? take : 
      m === 'save' ? save :
      new Error('不支持')
    )
  }  
  return dispatch
}
let account = makeAccount(100)
account('take')(25) //75
account('save')(10) //85
  • 赋值语句会导致代入法不能用了,代入法不能用,那就是一切关于数学的东西都不能用了。
  • 函数式的全称是,数学函数式编程。
  • 不用赋值的写法就是函数式。

你可能感兴趣的:(Dispatch分派器)