天天看點

重寫es5 中的 bind重寫es5 中的 bind

重寫es5 中的 bind

執行時改變this指向, 函數柯裡化
Function.prototype.myBind = function(){
	 		var argu = arguments,
	 			_self = this;
	 		return function(){
	 			var params = [];
	 			for(var i = 1 ,len = argu.length ; i < len ; i++){
	 					params.push(argu[i]);
	 				}
	 				params = params.concat(Array.prototype.slice.call(arguments));
	 			return _self.apply(argu[0],params);
	 		}

	 }
           

差別:

重寫es5 中的 bind重寫es5 中的 bind