有的时候,需要为一个function添加一个可选参数(Optional Parameter),当没有传递这样的一个参数的时候,会为这个参数设置一个默认值。

这个功能再php下面很容易就可以做到:


function testArgs($arg1 = 1, $arg2 = 2)

{

//code....

}

但是,再javascript下面这样就行不通了。因为javascript压根就不支持这种function的定义方法。但是也可以有变通的方法来解决这个种问题。


var myfunc = function(optional) {
if (typeof optional == "undefined") {
   optional = "default value";
}
alert(optional);
}

function accident() {
    for( var i = 0; i < arguments.length; i++ ) {
        alert("This accident was caused by " + arguments[i]);
    }
}
accident("me","a car","alcohol","a tree that had no right to be in the path of my driving");

function myFunction(option1)
{
var option2 = arguments[1];
if(arguments[0] == option1) {
alert("Happy Day, Option1 = " + option1 + ", Option2 = " + option2);
   }
}

myFunction("Hello", "World");