function/flip.jsjavascript
/**
 * 创建一个以相反参数顺序调用目标函数的包装函数。
 * @function flip
 * @memberof module:function
 * @param {Function} fn 目标函数
 * @returns {Function} 参数反转后的函数
 * @throws {TypeError} fn 不是函数时抛出
 */
function flip(fn) {
  if (typeof fn !== 'function') throw new TypeError('fn must be a function')
  return function (...args) {
    return fn.apply(this, args.reverse())
  }
}

export default flip