美文网首页
手写bind, call, apply

手写bind, call, apply

作者: igor_d140 | 来源:发表于2019-10-09 21:28 被阅读0次

bind

 /* istanbul ignore next */
  function polyfillBind (fn, ctx) {
    function boundFn (a) {
      var l = arguments.length;
      return l
        ? l > 1
          ? fn.apply(ctx, arguments)
          : fn.call(ctx, a)
        : fn.call(ctx)
    }

    boundFn._length = fn.length;
    return boundFn
  }

  function nativeBind (fn, ctx) {
    return fn.bind(ctx)
  }

  var bind = Function.prototype.bind
    ? nativeBind
    : polyfillBind;

相关文章

网友评论

      本文标题:手写bind, call, apply

      本文链接:https://www.haomeiwen.com/subject/otdnpctx.html