我偶然发现了一个看起来像这样的函数:
function pivot(arr, start = 0, end = arr.length){
...some code
}
这与写作相同吗
function pivot(arr){
let start = 0;
let end = arr.length;
...some code
}
如果是这样,除了简洁起见,在某些特殊情况下,在函数的参数中声明变量是否有优势?
答案 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
}