为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第13天 再学JavaScript ES(6-10)全版本语法大全

标签:
JavaScript

课程名称:再学JavaScript ES(6-10)全版本语法大全
课程章节:2-18 Default Parameters(函数参数的默认值)
课程讲师:快乐动起来呀
课程内容:
ES5中使用arguments来获取函数调用时传入的参数,但是ES6中禁止使用arguments。
函数参数默认值

如果形参的个数多余实参,不设置参数默认值则等于undefined;

function f(x, y, z) {
    if (y === undefined) {
        y = 7
    }

    if (z === undefined) {
        z = 42
    }
        return x + y + z
    }
console.log(f(1))

ES6做法:

//ES6 函数参数的默认值的处理

function f(x, y=7, z=x+y) {

    console.log(Array.from(arguments));  //可以获取实参的个数,但是es6中不允许使用arguments对象了

    console.log(f.length);  //通过f.length可以获取形参无默认值的参数个数,而不是实参个数

    return x + y + z

}

console.log(f(1,undefined,20)) //传undefined 可以看作是优先默认值,底层做了类似ES5之前的做法

注意点:1.如果中间位置的实参不传,使用undefiend占位;2.带有默认值的参数往后写;3.参数默认值可以是常量,还可以是表达式

课程收获:
ES5和ES6的结合中可以用Array.from(arguments),去获取执行时候传入了几个参数
如果直接用f.length,只能判断定义函数的参数有几个,但是不知道他的默认值参数有几个,更不知道实际参数有几个参数

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消