Function.prototype.myBind = function(context) { if(typeof this !== 'function') { throw new Error("Function.prototype.bind - what is trying to be bound is not callable"); }
var that = this;
// 获取bind函数从第二个到最后一个参数 var args = Array.prototype.slice.call(arguments, 1); // 相当于arguments对象调用数组的slice方法截取函数的第二个到最后一个参数
var fNOP = function() {};
var fBound = function() { // 这个时候的arguments是指bind返回的函数传入的参数 var bindArgs = Array.prototype.slice.call(arguments);