前言
JavaScript函数可以有默认的参数值。默认情况下,函数参数可以用默认值初始化形式参数。如果具有特定值的参数未初始化,则该参数的默认值未定义。
请看下面的代码:
function foo(num 1){ console . log(num 1);} foo();当调用函数foo时,您没有传递任何参数,因此变量num1的默认值被设置为undefined。但是,有时您可能需要设置默认值,而不是未定义。过去,最好的策略是测试未定义的参数值,然后赋值。因此,在上面的示例中,如果您想将num1的默认值设置为9,可以按照下面的代码进行操作:
function foo(num 1){ if(num 1===undefined){ num 1=9;} console . log(num 1);} foo();ECMAScript 6引入了函数的默认参数。使用ECMA 2015的默认参数功能,您将不再需要检查未定义的参数值。现在,您可以将9设置为参数本身的默认值。您可以覆盖上述函数以使用默认值,如下所示:
function foo(num 1=9){ console . log(num 1);} foo();对于函数foo,如果num1参数的值没有被传递,JavaScript会将9设置为num1的默认值。
检查未定义的参数
即使在调用函数时显式地将undefined作为参数值传递,参数值也将被设置为默认值。
function foo(num 1=9){ console . log(num 1);}foo(未定义);在上面的代码中,您传递了一个未定义为num1的值;因此,num1的值将被设置为默认值9。
运行时计算默认值
JavaScript函数的默认值是在运行时计算的。为了更好地理解这一点,请查看以下代码:
function foo(value=koo()){返回值;}函数koo(){返回‘Ignite UI’;} var a=foo();console . log(a);在函数foo中,参数值的默认值被设置为函数koo。函数koo是在运行时调用函数foo时计算的。调用foo函数后,您将获得如下图所示的输出(在本例中,我们使用Ignite UI框架)。
重用默认参数
默认参数可以被后续的默认参数使用。请看下面的代码:
function foo(num1=9,num 2=num 1 8){ console . log(num 2);} foo();在上面的代码中,num1的默认值用于计算num2的默认值。当您调用函数foo时,您将获得以下输出:
结论
JavaScript默认参数在编写函数时非常有用。调用函数时,如果缺少参数,默认参数函数允许您为函数参数指定默认值,而不是将其定义为未定义。
easy JavaScript part 3:函数中的默认参数是什么?
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。