老师,为什么这里可不填写的参数要用对象的形式来做形参

老师,为什么这里可不填写的参数要用对象的形式来做形参

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2024-03-11 17:12:33

同学你好,如果不使用对象,形参需要一个个展开传,调用的时候,对应的实参也要一个个对应传入,比如:

    const set=(name,age,gender,hobby,city)=>{
        console.log('姓名:',name)
        console.log('年龄:',age)
        console.log('性别:',gender)
        console.log('爱好:',hobby)
        console.log('城市:',city)
    }
    set("张三",'20','男' ,"","北京")

https://img1.sycdn.imooc.com/climg/65eec9d809d51c6111270273.jpg

https://img1.sycdn.imooc.com/climg/65eec9f7093b502708430347.jpg

如果可选参数,以对象的形式传入,那么调用时,可选参数对应的实参位置,书写会很灵活,比如:

const set=(name,age,{gender,hobby,city})=>{
        console.log('姓名:',name)
        console.log('年龄:',age)
        console.log('性别:',gender)
        console.log('爱好:',hobby)
        console.log('城市:',city)
    }
    set("张三",'20',{hobby:"打球"})

https://img1.sycdn.imooc.com/climg/65eeca6b0988f70e08330316.jpg

https://img1.sycdn.imooc.com/climg/65eecab909ca45fe12040316.jpg

两种写法,显然后面的更方便一些。

祝学习愉快!

  • 提问者 慕粉1112348 #1

    老师,是不用对象的传参必须要传值吗,不传是会报错吗

    2024-03-11 19:46:41
  • 好帮手慕久久 回复 提问者 慕粉1112348 #2

    是的。因为形参、实参要一 一对应。

    2024-03-12 09:02:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师