Javascript不支持方法重载(如Java或类似方法),您的第三个函数将覆盖之前的声明。
而是通过
argumentsobject支持变量参数。你可以做
function somefunction(a, b) { if (arguments.length == 0) { // a, b are undefined // 1st body } else if (arguments.length == 1) { // b is undefined // 2nd body } else if (arguments.length == 2) { // both have values // 3rd body } // else throw new SyntaxError?}你也可以只检查
typeof a =="undefined"等,这将允许呼叫
somefunction(undefined),其中
arguments.length为
1。这可能允许使用各种参数进行轻松调用,例如,当您可能有空变量时。



