es6 函数的扩展

1. 函数参数的默认值

function f(x=0, y=0){}

2. 函数的参数默认值和解构赋值结合使用

function ({x, y=5} = {}){}  //传进的参数是一个对象,当传进的参数为空时,默认创建一个空对象{x=undefined, y=5}
// 写法一
function m1({x = 0, y = 0} = {}) {
  return [x, y];
}

// 写法二
function m2({x, y} = { x: 0, y: 0 }) {
  return [x, y];
}

上面的两种写法,第一种传入的参数是一个对象,默认值是一个空对象,对象中的属性设置了默认值

第二种写法,传入的参数是一个对象,默认值是一个已经解构的对象,当传入的参数中属性和定义参数的属性不一样时,传进来的参数中存在的属性值就是传进来的值,未传进来的值是undefined,因为此时默认值不生效,不能对对象进行解构赋值

3. 参数默认值的位置

一般情况下,需要设置默认值的参数放到函数参数的末尾,这样方便查看哪些参数可以省略,如果不是写在末尾,一般这样的参数是不能省略的,所以默认值一般没啥用

4. 函数也有length(参数的长度)这个属性,当为函数的参数定义默认值时,定义了默认值的参数不参与length计算

5. 可以使用参数默认值指定某个参数不可省略,否则就会报错

6. rest参数,可以使用...变量名来获取多余的参数,因为使用了这个参数,可以向函数传递任意数目的参数

function f(...value){
  //这里可以使用map来遍历value
}

7. name属性, 使用函数.name属性,会输出函数的函数名

8. 尾调用, 在函数的最后一步调用另外一个函数(返回值必须是调用其他函数)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值