昨天写代码的时候,顺便写了个小函数,用于处理

  if (typeof(foo) === 'function') {
    foo(args)
  } else {
    bar(args)
  }

这种情况,具体可见:if-func

也可以直接通过 npm 安装

  npm install if-func

需要注意的是,这里有个比较 trick 的坑,为了实现链式写法,所以在call里用了 setTimeout,也就是说会把要执行的方法放到当前函数执行队列的最后。如果这里需要同步的话,最后就不要用这个方法了。

ps: 因为是用 es6
语法写的,使用的时候需要编译,所以做完发现,写的编译相关的代码,已经要比这个函数还要长了。
简直是现代前端开发的尴尬。


tobeyouth
773 声望9 粉丝