轻松学习 JavaScript (3):函数中的默认参数

(点击上方公众号,可快速关注)

英文: Dhananjay Kumar   译文:码农网/小峰

www.codeceo.com/article/easy-javascript-03-default-param.html

如果好文章投稿,点击 → 了解详情



JavaScript函数可以有默认参数值。通过默认函数参数,你可以初始化带有默认值的正式参数。如果不初始化具有某些值的参数,则该参数的默认值为undefined。


请看下列代码:


function foo(num1){

    console.log(num1);

}

foo();


在调用函数foo时,你没有传递任何参数,因此变量num1的默认值设置为undefined。但是,有时你可能需要设置默认值而非undefined。过去,最好的策略是测试参数值undefined,然后分配一个值。所以,在上面的例子中,如果你想要将num1的默认值设置为9,那么你可以按照以下代码所示的方式做:


function foo(num1) {

    if (num1 === undefined) {

        num1 = 9;

    }

    console.log(num1);

}

foo();


ECMAScript 6引入了函数的默认参数。使用ECMA 2015的默认参数功能,你将不再需要检查未定义的参数值。现在,你可以将9设置为参数本身的默认值。你可以重写上述函数以使用默认值,如下所示:


function foo(num1 =9) {

    console.log(num1);

}

foo();


对于函数foo,如果num1参数的值未被传递,那么JavaScript将设置9作为num1的默认值。


检查未定义的参数


即使你在调用函数时明确地传递undefined作为参数值,参数值也将设置为默认值。


function foo(num1 =9) {

    console.log(num1);

}

foo(undefined);


在上面的代码中,你传递undefined为num1的值;因此,num1的值将被设置为默认值9。


运行时计算默认值


JavaScript函数默认值在运行时计算。为了更好地理解这一点,请看以下代码:


function foo(value = koo()) {

    return value;

}

function koo() {

     return "Ignite UI";

}

var a = foo();

console.log(a);


在函数foo中,参数值的默认值设置为函数koo。在运行时调用函数foo时,将计算函数koo。调用foo函数后,你会得到如下图所示的输出(在这个例子中,我们使用了Ignite UI框架)。


 


重用默认参数


默认参数可供之后的默认参数使用。请看下列代码:


function foo(num1 = 9, num2 = num1 + 8){

    console.log(num2);

}

foo();


在上面的代码中,使用num1的默认值来计算num2的默认值。调用函数foo时将得到以下输出:



结论


JavaScript默认参数在编写函数时非常有用。在调用函数时,如果缺少参数,则默认参数功能允许你为函数参数分配默认值,而不是将其定义为undefined。



觉得本文对你有帮助?请分享给更多人

关注「前端大全」,提升前端技能

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值