美文网首页
手写bind

手写bind

作者: 不得不爱XIN | 来源:发表于2019-05-22 16:12 被阅读0次
    Function.prototype.bind = function (oThis) {
        if (typeof this !== "function") {
          throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
        }
      
    
        var aArgs = Array.prototype.slice.call(arguments, 1), 
            fToBind = this, 
            fNOP = function () {},
            fBound = function () {
              return fToBind.apply(
                  this instanceof fNOP && oThis ? this : oThis || window,
                  aArgs.concat(Array.prototype.slice.call(arguments))
              );
            };
      
        fNOP.prototype = this.prototype;
        fBound.prototype = new fNOP();
    
        return fBound;
      };
    

    相关文章

      网友评论

          本文标题:手写bind

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