帮忙顶一下,让了解的人来解答。

解决方案 »

  1.   

    Function.prototype.bind = function(object){
      var __method = this //存儲function本身
      , args = Array.prototype.slice.call(arguments);//存儲arguments
      args.shift();//移除第一個arguments,即object
      return function() {//返回內部函數,在引用的地方將形成一個閉包,可以訪問到__method和args
        return __method.apply(object, args.concat(Array.prototype.slice.call(arguments)));//通過object對象調用原來存儲的function,將原來存儲的args和新函數的arguments重新組合到一起作為參數傳遞進去
      }
    }