版权声明:如有文章想转载请联系qq:1289281445 tel:13253311994 https://blog.csdn.net/qq_39458856/article/details/82385721
重载(overload)
WHAT:
相同函数名,不同参数列表的多个函数,在调用时,可根据传入的参数不同,自动选择匹配的函数执行。
WHY:
减少API的数量,减轻调用者的负担
WHEN:
只要一项任务,可能根据传入参数的不同,执行不同的流程时。
HOW:
问题:js语法默认不支持重载,因为不允许多个同名函数同时存在!
解决: arguments
什么是: 函数调用时,自动创建的
扫描二维码关注公众号,回复:
6188252 查看本文章
保存所有传入函数的参数值的
类数组对象(长的像数组的对象)
vs 数组: 相同: 1. 下标; 2. .length; 3. 遍历
不同: 类型不同, API不通用
ex:
function pay() {
//arguments[ ].length
if(arguments.length==0) {
console.log("手机支付")
}else if(arguments.length>=1){
console.log(`现金支付${arguments[0]}元`)
}else {
console.log(`刷卡结账从${arguments[0]}扣款成功`)
}
}
pay()//手机支付
pay(100)//现金支付
pay("6555 1234 566","123456")//刷卡结账
何时使用arguments: 重载
重载的缺点:不能见名知意