js函数参数默认值

以前的写法,利用短路原则来写:

复制代码
function haosy(name,age){
    name=name||'小郝';
    age=age||21;
    alert('读者你好,我是作者'+name+',芳龄'+age+'岁。');
}
调用:
情况一:
haosy('王八蛋',20)   输出:读者你好,我是作者王八蛋,芳龄20岁。
情况二:
haosy('王八蛋')      输出:读者你好,我是作者王八蛋,芳龄21岁。
情况三:
haosy(null,22)      输出:读者你好,我是作者小郝,芳龄22岁。
情况四:
haosy();            输出:读者你好,我是作者小郝,芳龄21岁。
复制代码

现在我们使用ES6给出的默认值写法。

1.基本用法

function haosy(name='小郝',age=21){
    console.log('读者你好,我是作者'+name+',芳龄'+age+'岁。');
}

haosy();                 输出:读者你好,我是作者小郝,芳龄21岁。
haosy('王八蛋',20);       输出:读者你好,我是作者王八蛋,芳龄20岁。
haosy('王八蛋')           输出:读者你好,我是作者王八蛋,芳龄21岁。
//TODO...

2.与解构赋值默认值结合

function haosy({name,age=21}){
     console.log('读者你好,我是作者'+name+',芳龄'+age+'岁。');
}

haosy({});                       输出:读者你好,我是作者小郝,芳龄21岁。
haosy({name:'王八蛋'});           输出:读者你好,我是作者王八蛋,芳龄21岁。
haosy({name:'王八蛋',age:20});    输出:读者你好,我是作者王八蛋,芳龄20岁。
//TODO...

与基本用法的区别:

优点:这种写法在传入多个形参时可以不按顺序写,会方便;

缺点:如果不传入参数的时候,每次都要 haosy({}) 要写 {} 比较麻烦,因此,我们可以再设置一次默认值。

3.双重默认值

function haosy({name='小郝',age=21}={}){
   console.log('读者你好,我是作者'+name+',芳龄'+age+'岁。');
}

haosy();                         输出:读者你好,我是作者小郝,芳龄21岁。
haosy({name:'王八蛋'});           输出:读者你好,我是作者王八蛋,芳龄21岁。
haosy({name:'王八蛋',age:20});    输出:读者你好,我是作者王八蛋,芳龄20岁。

 


posted on   ChoZ  阅读(679)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示