美文网首页
手写Function.prototype.bind练习

手写Function.prototype.bind练习

作者: Creator93 | 来源:发表于2018-02-28 21:33 被阅读0次
    if(!Function.prototype.bind){
            Function.prototype.bind = function (oThis){
                if(typeof this != 'function'){
                    throw 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,aArgs.concat(Array.prototype.slice(arguments)));
                    }
    
                    fNOP.prototype = this.prototype;
                    fBound.prototype = new fNOP();
                    return fBound;
            };
        }

    相关文章

      网友评论

          本文标题:手写Function.prototype.bind练习

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