JavaScript 默认参数

2025年4月16日 | 阅读 6 分钟

默认一词可以理解为在没有其他选项合适的情况下始终可用的选项。同样,默认值是一个始终可用的值。在计算机编程语言方面,几乎每种编程语言都为内置函数或属性指定了一种或另一种默认值。对于 JavaScript 也是如此,它允许函数拥有其默认值。

在本节中,我们将学习 JavaScript 默认参数,并看一些示例来理解默认参数的用法。此外,所需的前提知识是应了解参数和实参这两个术语之间的区别,因为这两个术语彼此不同。

实参与形参

JavaScript Default Parameters

许多人混淆这两个术语,因此在解释默认参数之前,我们应该清楚这些术语。函数中的形参和实参是不同的。函数形参是在函数定义中传递的值,而函数实参是传递到函数中的实际值。实参值是作为形参值传递到函数定义中的值。这意味着形参会初始化为提供的实参值。在每种编程语言中,这两个术语的含义都相同。

JavaScript 默认参数

当函数定义中未传递任何值时,将为函数定义设置一个默认值,称为默认参数。它允许在未定义或未传递任何值时,将命名参数初始化为默认值。

语法

JavaScript 默认参数示例

通常,在 JavaScript 函数中,形参的默认值为 undefined,这意味着它是默认值,并且在未提供其他值作为函数形参值时将被提供。

虽然有多种使用默认参数的方法,但让我们看一个示例来理解默认参数的实际工作原理以及如何在函数中设置默认参数。

以上代码的输出如下所示

JavaScript Default Parameters

在上面的示例中,

  • 我们创建了一个 sum() 函数,其中执行了两个值的简单加法。可以看到,我们已经将两个形参初始化为两个默认值。
  • 因此,当我们在调用函数时未传递任何值,就会控制台打印输出,两个形参的默认值将被传递,因此默认参数就会起作用。
  • 接下来,我们仅使用一个值调用了该函数,这意味着第二个形参已提供一个值,但第一个形参仍然是 undefined,因此将为第一个形参提供默认值。
  • 对于最后一次调用函数,我们为两个形参都传递了两个值,因此不会为任何形参传递默认值,因为正在提供值。
  • 结果,您现在可能已经能够理解默认参数的工作原理和用法。

让我们看一些更多的示例,以便更有效地理解默认参数的工作原理。

JavaScript 默认参数的一些示例

让我们看一些更多的示例,以便更好地理解这个概念

示例 1:undefined 作为形参传递

输出

JavaScript Default Parameters

在此示例中,

  • 我们创建了一个函数,其中为形参分配了默认值,并在函数调用时,我们传递了 undefined,在输出中,您可以看到函数不是采用传递的值,而是采用默认值并使用它。
  • 这意味着,无论形参是空形参还是 undefined,在这两种情况下,采用的值都将是默认值。

示例 2:null 作为函数形参传递

以下是一个示例代码,它将让您理解,如果我们使用 null 作为形参值

输出

JavaScript Default Parameters

在上面的示例代码中,

  • 我们创建了一个函数,其中为函数形参提供了默认值,在调用函数时,我们调用了函数四次。
  • 在第一次调用函数时,我们没有传递任何值,因此它只会控制台输出默认值。
  • 在第二次调用函数时,我们传递了 undefined 作为形参值,这意味着函数在这里也会控制台输出默认值。
  • 在第三次调用函数时,我们传递了一个 (' '),这意味着它将控制台输出形参的字符串值。
  • 在最后一次函数调用中,我们提供了 null 作为其值,这意味着它将把 null 值视为其值,并且只会控制台输出 a 的值为 null。

因此,这清楚地表明,如果我们传递空字符串null作为形参值,则不会考虑默认值,如果传递空字符串,则输出将是空字符串,如果传递 null,则输出将是 null 而不是默认值。null 和空字符串都被视为函数有效值。

因此,这两个示例可能可以回答您可能遇到的关于如果在函数调用中使用这些值的查询。

在调用时评估默认参数

默认参数的评估是其重要特性之一,我们在其中考虑默认参数的评估。应了解 JavaScript 默认参数永远不会被重用,并且在每次函数调用时始终会创建。这被称为默认参数在函数调用时进行评估。

让我们看下面的示例,并尝试更好地理解所解释的概念

输出

JavaScript Default Parameters

在上面的示例代码中,

  • 我们可以注意到函数被调用了两次。
  • 第一次,我们传递了 1 作为其值,因此输出将在数组中为 1(只有一个元素)。
  • 在第二次函数调用中,我们使用了 2 作为其新值。因此,新值将是 [2],而不是 [1,2]。这是因为新创建的值是 2 而不是 1。

最后,在本节中,我们讨论了 JavaScript 默认参数,这将有助于学习者清晰其关于函数的概念。此外,现在应该能够区分实参和形参。


下一个主题JavaScript 提升