JavaScript中的动态参数
JavaScript中的函数参数是动态的,我们既可以一开始就定义好,也可以在函数体中进行重载。
我们可以利用 arguments 对象来管理动态参数。
下面举个例子:
function doAdd() {
if (arguments.length == 0) {
alert("You must input at least one argument!");
} else if (arguments.length == 1) {
alert("Result: " + arguments[0]);
} else if (arguments.length == 2) {
alert("Result: " + (arguments[0] + arguments[1]));
} else {
alert("Too many arguments!");
}
}
if (arguments.length == 0) {
alert("You must input at least one argument!");
} else if (arguments.length == 1) {
alert("Result: " + arguments[0]);
} else if (arguments.length == 2) {
alert("Result: " + (arguments[0] + arguments[1]));
} else {
alert("Too many arguments!");
}
}
上面的doAdd()函数我们利用arguments对象在函数内部进行了重载,考虑了各种情况,因此在调用端我们可以
如下各种调用:
window.onload = function() {
doAdd();
doAdd(10);
doAdd(20,30);
doAdd(10,20,30);
}
doAdd();
doAdd(10);
doAdd(20,30);
doAdd(10,20,30);
}
输出的结果依次为:
You must input at least one argument!
Result: 10
Result: 50
Too many arguments!
技术改变世界