重载:方法,根据传入的参数列表不同,执行不同的任务。
比如:functiion jz(money){
//现金结账:验钞,找零
}
function jz(cardId,pwd){
//刷卡结账:验证卡号,验证密码
}
jz(300); //现金结账
jz("0000655112341234","666666") //刷卡结账
arguments对象:方法对象中保存所有参数的类数组对象
类数组对象:长的像数组的对象
自动创建,直接使用
arguments.length:保存变量的个数
arguments[i]:访问传入的第i个变量。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
function calc(){
//arguments
if(arguments.length==1){
var n = parseFloat(arguments[0])
alert(n*n);//1
}else{
var n = parseFloat(arguments[0])
var m = parseFloat(arguments[1])
alert(m+n);//
}
} </script>
<button onclick="calc(10);">算平方</button> <button onclick="calc(10,12);">算加法</button>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
function add(){
console.log(arguments.length); //9
var sum =0;
for(var i=0; i<arguments.length; i++)
sum+=parseFloat(arguments[i]);
return sum;
}
var sum = add(5,8,9,6,5,4,7,8,5);
document.write(sum);
</script>
</body>
</html>