欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js函数参数默认值

程序员文章站 2024-02-20 19:37:16
...

js函数参数默认值

接着上文js短路原则说道,我们来说js函数参数默认值的几种方式。

js短路原则超链接:https://haosy.blog.csdn.net/article/details/107233160

这里稍微回忆一下:

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岁。
相关标签: 前端