在函数参数中声明变量有什么意义?

时间:2020-06-26 16:37:45

标签: javascript function variables parameters

我偶然发现了一个看起来像这样的函数:

function pivot(arr, start = 0, end = arr.length){
  ...some code
}

这与写作相同吗

function pivot(arr){
  let start = 0;
  let end = arr.length;
  ...some code
}

如果是这样,除了简洁起见,在某些特殊情况下,在函数的参数中声明变量是否有优势?

2 个答案:

答案 0 :(得分:1)

在函数签名中看到的是具有默认值的参数。这样一来,您就可以随意传递部分或全部参数,同时确保每个变量都有可用的值。

答案 1 :(得分:1)

在这种情况下,您看到的是Default Parameter。在这里,您可以针对这些参数传递任何值,例如将start设置为5,将end设置为15。如果未指定任何值,则将考虑默认值,即以0开头,以0结束arr

的长度
function pivot(arr, start = 0, end = arr.length){
  ...some code
}

另一方面,您在下面看到的是声明的一个变量(start)和另一个从参数end中提取的值(arr):

function pivot(arr){
  let start = 0;
  let end = arr.length;
  ...some code
}