За даними MDN, Думаю, array.splice може взяти 1 аргумент:
Якщо немає, параметр howMany не вказаний (другий синтаксис вище, що є a Розширення SpiderMonkey), всі елементи після видалення індексу
але незрозуміло, чи є один варіант аргументу розширенням SpiderMonkey (є лише один приклад синтаксису, який заплутано).
Він працює в Chrome і Firefox, але я не знаю про сумісність поза цим. Чи хтось знає остаточно?
Відповіді:
7 для відповіді № 1Відповідно до 15.4.4.12
з Специфікація ECMAScript, єдиним згаданим прототипом є:
Array.prototype.splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] )
Отже, ні, другий параметр не є обов'язковим для мого читання.
4 для відповіді № 2
На специфікацію потрібно щонайменше два аргументи.
Можливість дзвонити лише з одним аргументом - цеРозширення SpiderMonkey до специфікації. Цілком можливо, що Chrome реалізував подібне розширення. Схоже, це зробили IE9, Opera та Safari (щойно протестовані в них).
Можливо, настав час зміни специфікацій ....