手写Bind

Function.prototype.bind2 = function(context){
var self = this;
var args = [].slice.call(arguments,1);
var returnfn = function(){
var args2 = [].slice.call(arguments);
return self.apply(this instanceof returnfn ?this:context,args.concat(args2));
}
function returnFather(){}
returnFather.prototype = this.prototype;
returnfn.prototype = new returnFather();
 
return returnfn;
}

 

posted @ 2019-04-25 08:38  前端++  阅读(258)  评论(0编辑  收藏  举报