您的位置:澳门新葡8455最新网站 > Web前端 > 函数中的暗许参数

函数中的暗许参数

发布时间:2019-12-01 09:45编辑:Web前端浏览(173)

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

    2017/11/11 · JavaScript · 函数, 参数

    原文出处: Dhananjay Kumar   译文出处:码农网 – 小峰   

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

    请看下列代码:

    function foo(num1){ console.log(num1); } foo();

    1
    2
    3
    4
    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();

    1
    2
    3
    4
    5
    6
    7
    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();

    1
    2
    3
    4
    function foo(num1 =9) {
        console.log(num1);
    }
    foo();

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

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

    检查未定义的参数

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

    function foo(num1 =9) { console.log(num1); } foo(undefined);

    1
    2
    3
    4
    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);

    1
    2
    3
    4
    5
    6
    7
    8
    function foo(value = koo()) {
        return value;
    }
    function koo() {
         return "Ignite UI";
    }
    var a = foo();
    console.log(a);

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

     

    function foo(num1){
        console.log(num1);
    }
    foo();
    

    重用默认参数

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

    function foo(num1 = 9, num2 = num1 + 8){ console.log(num2); } foo();

    1
    2
    3
    4
    function foo(num1 = 9, num2 = num1 + 8){
        console.log(num2);
    }
    foo();

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

    图片 2

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

    结论

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

    1 赞 收藏 评论

    图片 3

    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框架)。

     

    图片 4

    image

    重用默认参数

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

    function foo(num1 = 9, num2 = num1 + 8){
        console.log(num2);
    }
    foo();
    

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

     

    图片 5

    image

    结论

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

    欢迎加入学习交流群569772982,大家一起学习交流。

    本文由澳门新葡8455最新网站发布于Web前端,转载请注明出处:函数中的暗许参数

    关键词: