实参和形参
在解释默认函数参数之前,重要的是要知道参数的默认值是什么。所以我们先回顾函数中实参和形参之间的区别。
在下面的代码中,我们创建一个函数,该函数返回一个给定数的立方:
function cube(x) {
return x * x * x
}
此示例中的x
变量是一个参数-传递给函数的命名变量,参数必须始终包含在变量中。接着,我们来调用一下这个函数:
cube(10) // 1000
在这种情况下,10
是一个参数—调用时传递给函数的值。 通常,值也可以用变量,如:
const number = 10
cube(number) // 1000
如果没有将参数传递该函数,函数将隐式地使用undefined
作为默认值:
cube() // NaN
在本例中,cube()
试图计算undefined * undefined * undefined
的值,结果是NaN
。
这种自动的行为有时会造成问题。在某些情况下,我们希望参数具有一个值,即使没有向函数传递参数。这就是默认参数特性派上用场的地方。