请问老师关于call

来源:3-10 类数组对象 NodeList

hy_wang

2018-09-11 15:58:59

请问老师关于array的slice方法的第一个参数start不是必须的吗,为什么这里call的时候却没有穿参数。。

写回答

1回答

好帮手慕夭夭

2018-09-11

视频中代码为类数组的用法 ,将函数的实际参数转换成数组的方法 ,如下 :

Array.prototype.slice.call(arguments)

因为arguments 并不是一个真正的数组 ,所以使用call调用数组的slice方法 ,第一个参数传入arguments , 也就是所有的参数 , 第二个参数是可选的 , 也就是同学所说的star . 因为这里不传入的话默认从索引0开始 , 也就是说Array.prototype.slice.call(arguments , 0)中后面的0可以省略哦

除非你并不想从索引为0 的地方截取 , 例如Array.prototype.slice.call(arguments , 1) , 这里从索引1开始截取就不能省略了

希望解答了你的疑惑 ,祝学习愉快 ! 望采纳

0

0 学习 · 4826 问题

查看课程