Почему javascript не жалуется, когда количество параметров в вызове функции не совпадает с количеством в объявлении функции? - PullRequest
0 голосов
/ 11 января 2020

В javascript я объявил функцию следующим образом:

function foo(a)
{
    console.log(a);
}

Здесь объявление функции содержит только один параметр. Но когда я использовал вызовы функций с более чем одним параметром, например

foo(a,b,c)

javascript, я не жаловался на дополнительные параметры. Почему? Что происходит с дополнительными параметрами?

1 Ответ

3 голосов
/ 11 января 2020

Почему?

Потому что именно так разработчики языка решили реализовать это. Он допускает все виды функциональности, примерно эквивалентные необязательным параметрам.

Что происходит с дополнительными параметрами?

Они доступны для объекта arguments изнутри метода:

function foo(a)
{
    console.log(a);
    console.log(arguments);
}

foo(1,2,3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...