arguments.length выдаёт количество аргументов, реально переданных функции. В отличие от него, свойство Function.length указывает, сколько аргументов функция ожидает.