Dispatch分派器

2019-04-08  本文已影响0人  Lucien_d70a
// 实现效果
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
上一篇 下一篇

猜你喜欢

热点阅读