es5与es6中函数参数默认值问题

本人学习过程中编写,定有不足之处,如果有错误,请您积极指正;如果有帮助,请不要吝啬您的赞美(点赞),欢迎各位大佬点赞评论。

es5中函数默认值
function sum(x,y,z){
  if(y == undefined){
    y = 6;
  }
  if(z == undefined){
    z = 3;
  }
  return x+y+z;
}
console.log(sum(1,5,7));    //13
console.log(sum(1));      //10

很显然,es5中需在函数内部进行判断参数是否存在,增加了代码量。

es6中函数的默认值
function sum(x,y=6,z=3){
  return x+y+z;
}
console.log(sum(1,5,7));    //13
console.log(sum(1));      //10

es6中的方法就简单的多。在我们没有传入某个参数时,我们可以进行以下操作:

function sum(x,y=6,z=3){
  return x+y+z;
}
console.log(sum(1,undefined,7));    //14
补充知识
arguments

以伪数组的形式返回函数执行时你所填写的参数

function sum(x,y=6,z=3){
  console.log(arguments);
  return x+y+z;
}
console.log(sum(1,undefined,7)); 

在这里插入图片描述

f.length

返回函数中无默认值的参数的个数;

function sum(x,y=6,z=3){
  console.log(sum.length);  //x没有默认值
  return x+y+z;
}
console.log(sum(1,undefined,7));

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值