According to MDN,我认为,array.splice可以采用1个参数:
如果没有指定howMany参数 (上面的第二个语法,这是一个 SpiderMonkey扩展),所有元素 索引删除后。
但不清楚一个参数选项是否是SpiderMonkey扩展(只有一个语法示例,这令人困惑)。
适用于Chrome和Firefox,但除此之外我不知道兼容性。有人知道吗?
答案 0 :(得分:7)
根据ECMAScript specification的15.4.4.12
,唯一提到的原型是:
Array.prototype.splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] )
所以不,我的阅读中第二个参数不是可选的。
答案 1 :(得分:4)
根据规范,至少需要两个参数。
只使用一个参数调用的能力是规范的SpiderMonkey扩展。 Chrome完全可以实现类似的扩展。看起来像IE9,Opera和Safari(只是在那些测试中)。
也许现在是改变规格的时候了......