自在学习 JavaScript——第 3 部分:函数中的默认参数

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

 

图片 1

image

任用默认参数

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

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

在地点的代码中,使用num1的默认值来总括num2的默认值。调用函数foo时将取得以下输出:

 

图片 2

image

结论

JavaScript默认参数在编制函数时丰盛实惠。在调用函数时,即使缺失参数,则默认参数效用允许你为函数参数分配默认值,而不是将其定义为undefined。

迎接出席学习互换群569772982,大家一起上学交换。