Не повторяя того, что говорили другие авторы о браузере, предоставляющем аргументы функции, я хотел бы сделать общее замечание о javaScript как о языке. JavaScript, в отличие от языков, таких как C ++ и Java, НЕ учитывает параметры, определенные в сигнатуре функции. Это означает, что у вас может быть такая функция:
function doSomething(myParam){
... Does Some Stuff
}
Тогда назовите это любым способом ниже:
doSomething();
doSomething(foo);
doSomething(foo, bar);
doSomething(foo, bar, baz);
и т.д ..
Если он вызывается без параметров, определенных в подписи, отсутствующие параметры будут неопределенными. Доступ к дополнительным параметрам возможен только через массив args, который есть у всех функций.
Я знаю, что это не относится к вашему вопросу, но я подумал, что это может быть полезно для контекста и общего интереса.