我知道用法如下:
Array.prototype.slice.call(document.querySelectorAll('a'))
将Nodelist
数据类型转换为没有参数的数组,但我从W3CSchool读取slice
的使用情况,需要第一个参数start
:
开始必需。一个整数,指定开始选择的位置 (第一个元素的索引为0)。使用负数来选择 从数组的末尾
所以没有参数并调用该方法就可以了?为什么这会成功?
答案 0 :(得分:3)
让我们玩一个跟随面包屑的游戏
在es5规范中,
Array.prototype.slice(start, end)
让
relativeStart
为ToInteger(start)
1。让
上调用number
成为在输入参数ToNumber
的结果
Undefined
转换为NaN
Backtrack ToInteger
2。如果
number
为NaN
,请返回+0
。
因此即使未明确声明是可选的,如果start
未定义,它也会变为0
。
答案 1 :(得分:0)
最好使用MDN而不是w3cschools/fools。
是的,你正在做的是正确的,请参阅:
的“类似于数组的对象”部分https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice