【发布时间】:2011-07-05 22:14:31
【问题描述】:
我刚刚在浏览 Sizzle 的源代码时,偶然发现了这行代码:
array = Array.prototype.slice.call( array, 0 );
我查看了函数是什么,但我得出的结论是它只是返回从索引 0 开始的数组的所有元素,并将整个元素放入数组中,即它实际上并没有做任何事情。
那么这行代码有什么用呢?我错过了什么?
编辑:这是来自https://github.com/jquery/sizzle/blob/master/sizzle.js#L863的第863行。
【问题讨论】:
-
调用
array.slice(0)似乎有点古怪,它会复制数组。我不明白为什么它会以如此难以理解的方式被调用。 -
上下文决定一切。
array标识符没有引用实际的数组。
标签: javascript arrays sizzle