可以使用一个参数调用array.splice()吗?

时间:2011-04-22 19:58:31

标签: javascript

According to MDN,我认为,array.splice可以采用1个参数:

  

如果没有指定howMany参数   (上面的第二个语法,这是一个   SpiderMonkey扩展),所有元素   索引删除后。

但不清楚一个参数选项是否是SpiderMonkey扩展(只有一个语法示例,这令人困惑)。

适用于Chrome和Firefox,但除此之外我不知道兼容性。有人知道吗?

2 个答案:

答案 0 :(得分:7)

根据ECMAScript specification15.4.4.12,唯一提到的原型是:

Array.prototype.splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] )

所以不,我的阅读中第二个参数不是可选的。

答案 1 :(得分:4)

根据规范,至少需要两个参数。

只使用一个参数调用的能力是规范的SpiderMonkey扩展。 Chrome完全可以实现类似的扩展。看起来像IE9,Opera和Safari(只是在那些测试中)。

也许现在是改变规格的时候了......