首先这个方法:[].slice.call(arguments)能将具有length属性的对象转成数组。

1、arguments是一个类数组对象。

2、slice(start, end) 方法可提取数组的某个部分,并以新的数组返回被提取的部分。

3、call()函数用于调用当前函数,并可同时使用指定对象作为本次执行时函数内部的this指针引用。

[]数组有slice方法,可以通过call显式绑定来实现arguments变相有slice这个方法。

所以就是arguments调用了slice方法,后面1是start位置,arguments.length是end位置。最后返回了一个数组,供apply()方法使用。