arguments转换为数组
首先这个方法:[].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()方法使用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Prajna's blog!
评论