JavaScript 面试题
目录

JavaScript 中默认参数 (Default Parameters) 的用法?

· 约 4 分钟读完 · 第 356 / 507 章

推荐答案

在 JavaScript 中,默认参数允许你在函数定义时为参数设置默认值。如果调用函数时没有传递该参数,或者传递的参数值为 undefined,则会使用默认值。

在上面的例子中,name 参数的默认值是 "Guest"。如果调用 greet() 时不传递参数,或者传递 undefined,则会使用默认值 "Guest"。

本题详细解读

默认参数的基本用法

默认参数是 ES6 引入的特性,允许在函数定义时为参数设置默认值。如果调用函数时没有传递该参数,或者传递的参数值为 undefined,则会使用默认值。

在这个例子中,b 参数的默认值是 1。如果调用 multiply(5) 时只传递一个参数,b 的值将会是 1。

默认参数与 undefined

默认参数只有在参数值为 undefined 时才会生效。如果传递 null 或其他 falsy 值(如 0、false、"" 等),默认参数不会被使用。

默认参数可以是表达式

默认参数不仅可以是简单的值,还可以是表达式。这些表达式在函数调用时会被求值。

在这个例子中,getDefaultValue() 函数会在 printValue() 被调用时执行,并返回默认值。

默认参数的作用域

默认参数的作用域是独立的,它们不会影响到函数体内的其他变量。

在这个例子中,innerFunction 的默认参数 x 是 2,它不会受到 outerFunction 的默认参数 x 的影响。

默认参数的顺序

默认参数可以放在参数列表的任何位置,但通常建议将带有默认值的参数放在参数列表的末尾,以避免混淆。

在这个例子中,b 的默认值是 1,而 c 没有默认值。如果传递 undefined 给 b,则会使用默认值 1。