javaScript重载

js不支持标准的重载方式,不允许多个同名函数同时存在,只有最后一个留下

重载

相同函数名,不同形参列表的多个函数,在调用时可根据传入的实参值不同,自动选择匹配的函数
功能代码

function payByPhone(){
  consle.log(`手机支付`);
}
function payByMoney(money){
 console.log(`现金支付`);
}

函数名过多,用同一个函数代替

function pay(){ ... }
function pay(money){ ... }
function pay(carId,pwd){ ... }
pay();
pay(money);
pay(carId,pwd);//js中不能用

js中不能用
为减少函数名个数,减轻调用者的负担,不能写多个同名函数,只能写一个函数,写几个形参无法满足所有情况,所以不写形参。
借助于函数内的一个特殊对象arguments来获得实参值
arguments
每个函数内,一定都包含的一个,可直接使用的,专门接受所有传入函数的实参值的类数组对象
类数组对象
长的像数组的对象
根据argument中获得实参值个数或实参值的内容/类型不同,来判断,选这不同的执行过程

JS变通实现重载

function pay(){
  if(arguyments.length==0){
     console.log(`手机支付`);
}else if(argument.length==1){
     console.log(`现金支付`);
}else{
   consle.log(`刷卡支付`);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值