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

Javascript 在函数参数中声明变量有什么意义?,javascript,function,variables,parameters,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 } 如果是这样的话,除了为了简洁起见,在函数的参数中声明变量是否有任何特殊的用例是有利的?您在函数签名中看到的是具有默认值的参数。这允许您自行传递部分或全

我偶然发现了一个类似这样的函数:

function pivot(arr, start = 0, end = arr.length){
  ...some code
}
这是否与写作相同:

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

如果是这样的话,除了为了简洁起见,在函数的参数中声明变量是否有任何特殊的用例是有利的?

您在函数签名中看到的是具有默认值的参数。这允许您自行传递部分或全部参数,同时确保每个变量都有可用值。

在函数签名中看到的是具有默认值的参数。这允许您自行传递部分或全部参数,同时确保每个变量都有可用值。

在本例中,您看到的是。在这里,您可以根据这些参数传递任何值,例如
start
as 5和
end
as 15。如果未指定任何值,将考虑默认值,即起始值为0,结束值为
arr

function pivot(arr, start = 0, end = arr.length){
  ...some code
}
另一方面,您在下面看到的是声明的一个变量(
start
)和从参数
arr
提取的另一个值(
end
):

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

你在这个案例中看到的是。在这里,您可以根据这些参数传递任何值,例如
start
as 5和
end
as 15。如果未指定任何值,将考虑默认值,即起始值为0,结束值为
arr

function pivot(arr, start = 0, end = arr.length){
  ...some code
}
另一方面,您在下面看到的是声明的一个变量(
start
)和从参数
arr
提取的另一个值(
end
):

function pivot(arr){
  let start = 0;
  let end = arr.length;
  ...some code
}
Please read(请阅读)中有很多聪明的例子说明了这个功能为什么有用。Please read(请阅读)中有很多聪明的例子说明了这个功能为什么有用