Javascript functions can take as many or as little parameters as you like.
Say you have a function:
function fn (a, b, c) {}
But you only give it two parameters, the last will be undefined. If you give it more parameters than you have declared, you can access it with the arguments object:
arguments[3] will give you the fourth parameter. Arguments is basically an Array without any Array functions. It just has a length property and values indexed by order (e.g. 0, 1, 2, 3...).
The way to use this is:
function fn (a, b, c) {
alert(arguments[3]);
}
fn(0, 0, 0, 3);
This will alert 3.
EDIT:
This isn't exactly related, but functions are the same as any other object. For example, you can take a function (fn from the previous example), and assign properties to it.
function fn (a) {alert(a);}
fn.something = 'Hello!!';
Then you can do this:
fn(fn.something);
This would alert 'Hello!!'. Cool, huh?