轻松学习 JavaScript——第 3 部分:函数中的默许参数

JavaScript函数可以有默许参数值。通过默许函数参数,你可以初阶化带有默许值的正经参数。假诺不初阶化具有某些值的参数,则该参数的默许值为undefined。

ECMAScript,请看下列代码:

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

 

ECMAScript 1

image

任用默认参数

默许参数可供未来的默许参数使用。请看下列代码:

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

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

 

ECMAScript 2

image

结论

JavaScript默许参数在编制函数时足够有效。在调用函数时,即便缺失参数,则默许参数效用允许你为函数参数分配默许值,而不是将其定义为undefined。

欢迎加入学习沟通群569772982,我们一齐念书调换。