【发布时间】:2015-02-09 18:16:24
【问题描述】:
两者之间到底有什么区别:
Array(3)
// and
Array.apply(null, Array(3) )
第一个返回[undefined x 3],而第二个返回[undefined, undefined, undefined]。第二个可以通过Array.prototype.functions 链接,例如.map,但第一个不是。为什么?
【问题讨论】:
-
Array.apply(null, Array(9))是不是new Array(9)。它将Array(9)作为九个参数传播到Array()。即使它有效,它也几乎是错误的方式。例如,您可以new Array(1e7),但不能Array.apply(null, Array(1e7))。
标签: javascript