Array.prototype.slice.call(nodeList); 这个不理解。
清晰、完整得描述问题,更容易得到专业的回复
34
收起
正在回答
2回答
1、在JS里Array是一个类,slice是此类里的一个方法 ,那么Array.prototype.slice应该这么去用,slice是截取的意思,slice()的使用方法是:arrayObj.slice(start, [end]) 截取数组的一部分
2、call([thisObj[,arg1[arg2[[argN]]]]]) ;其中thisObj是一个对象的方法 ,arrg1~argN是参数
Array.prototype.slice.call(nodeList);这句话的意思就是说把调用方法的参数截取出来,又因为NodeList对象是一个节点的集合,NodeList对象不是一个数组,因此并没有数组拥有的一些方法,所以它并没有slice这个方法,而Array.prototype.slice.call(nodeList)可以理解成是让nodeList转换成一个数组对象,让nodeList具有slice()方法。
换句话说,Array.prototype.slice.call()能将具有length属性的对象转成数组,也可以将Array.prototype.slice.call()理解成一种固定的写法~
希望可以帮到你~
组件化思想开发电商网页 18版
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星