This property yields a numeric value representing the number of arguments the function expects to be called with and can support.
The length property of the Function constructor returns 1 but it accepts a variable number of arguments.
Otherwise the length property returns a value that is typical for the function. Because the number of arguments can often be variable, this typical value should be used with caution.
This value is not necessarily the same as the length of the arguments array that is available inside the function when it is called. This indicates the actual number of arguments that were passed.
In any case the function.length property is deprecated in favor of the arity property. This is to avoid confusion between functions and arrays.
ECMA 262 edition 2 - section - 220.127.116.11
ECMA 262 edition 2 - section - 18.104.22.168
ECMA 262 edition 3 - section - 22.214.171.124