重寫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);
}
}
差別: