Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom对象是以com对象的形式实现的,js对象与com对象不能进行转换)
- 例如: auguments是类数组,不是数组
HTML DOM集合转化成数组对象
const lis = this.$refs.foodsWarpperUl.getElementsByClassName('food-list')
// Array.prototype.slice.call(arguments)将传入的arguments转化为数组
Array.prototype.slice.call(lis).forEach((el)=>{
top += el.clientHeight
tops.push(top)
})
本文介绍了JavaScript中如何使用Array.prototype.slice.call()方法将类数组对象,如arguments或DOM元素集合,转换为真正的数组。通过示例展示了在处理getElementsByClassName返回的HTMLDOM集合时,如何利用该技巧进行数组操作,如forEach循环,以进行元素的尺寸计算和存储。
346

被折叠的 条评论
为什么被折叠?



