什么是:想同的函数名,不同的形参列表的多个函数,在调用时,可以根据传入的实参值不同,自动选择匹配的函数调用。
优势:减少函数的声明 ,减少函数个数 ,减轻调用函数的负担;
使用情景:只要一个函数(一件事),可以根据传入的实参值不同,而执行不同的操作时 用重载
如何使用?
1.用 arguments 获得实参值列表
- arguments 在每个函数中包含的,可以直接使用的,专门接受所有传入函数的实参值的类数组组对象
- 类数组对象 长得像数组 但是不是数组 是object 所以 不能用数组的方法
2.根据 arguments 的参数个数, 类型 等 进行不同的操作流程
function pay () {
console.log(arguments)
if( arguments.length == 0){
//执行第一种 没有参数的情况
}else if( arguments.length == 1){
//执行第二种 有一个参数的情况
//arguments[0] 可以获取到 参数的值100
}else{
//否则就获取到 剩余两个参数的情况
//同样 arguments[0] arguments[1] 可以获取到参数值
}
};
pay();
pay(100);
pay("6217 **** 0001","123456")