美文网首页
手写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