Function.prototype.bind = function() {
  var __method = this, args = $A(arguments), object = args.shift
  return function() {
    return __method.apply(object, args.concat($A(arguments)));
  }
}
在这个方法中第二次用到的arguments应该是内嵌函数的参数列表吧,那它具体是
什么呢,我认为直接用args这个参数就可以了吧,请大家帮助?

解决方案 »

  1.   

    __method.apply(object, args.concat($A(arguments)));var temp = xxxMethod.bind(this, parm1, ...);
    temp(a, b, c);===========
    __method.apply(object, args.concat($A(arguments)));args是:parm1....
    arguments是:a,b,c
    ===========
      

  2.   

    谢谢楼上的帮助,可以理解为第一个arguments表示的是方法需要传入的参数,第二个表示该实例函数传入的参数吧。通过应用去理解代码的原意,也是一种学习代码思想的思路。