= Optional Parameters and Default Arguments =
JavaScript supports optional parameters and default arguments to functions, but only supports the latter with a bit of a hack.
Optional parameters are easy. Just define a function to and then don't pass all the parameters:
function testFunction(a,b,c) {
document.write(a + " ");
document.write(b + " ");
document.write(c + " ");
}
testFunction('foo','bar'); // will print 'foo bar undefined '
Of course, your function must handle those undefined parameters. You might want to set defaults for any parameters that are undefined; to do this, just check if they
are undefined:
function testFunction(a,b,c) {
// this says 'if the type of a is undefined, set it to '', otherwise set it
// to a (e.g. itself)'
a = (typeof(a) == undefined) ? '' : a;
b = (typeof(b) == undefined) ? '' : b;
c = (typeof(b) == undefined) ? '' : c;
}
One other thing that you can do is check the length (or values) of the ''arguments'' array. The ''arguments'' array is set inside each function, and contains a list of the arguments passed to the function.