2 回答
TA贡献1911条经验 获得超7个赞
header0在你的参数列表中是一个参数,一个局部变量,就像a是一个参数:
function test(a) { }就像您不能a在该函数之外按名称引用一样,您test也不能用您的代码和header0. 因此,如果您使用 调用您的函数 header0 =,您实际上是在定义一个全局变量header0并在现场为其分配一个值。在严格模式下会产生错误。它与参数无关header0。
该参数header0将从您作为headers属性值传递的数组的第一个元素中获取其值。如果您作为参数传递的对象没有该headers属性,或者该属性没有定义不同于 的第一个数组元素undefined,则局部headers0变量将获得默认值。
不要将此变量与后跟冒号的属性名称混淆,后者也出现在您的参数部分:headers:. 这不是一个变量,而只是定义了变量的位置,headers0并且otherHeaders在调用函数时应该获取它们的值。但headers它本身并不是一个变量。
url另一方面是一个变量。它从具有相同名称的属性中获取其值。注意没有冒号。这使它成为一个变量(参数)。
解构中使用的语法可能非常混乱。例如,如果不是url,you would have url: url2,那么不是定义 variable url,而是定义 variable url2——仍然是url属性在传递给函数的对象中的值。
TA贡献1841条经验 获得超3个赞
我认为您应该尝试使用对象来解决您的问题以引用数组索引。但是,如果您真正想要的是拥有一个返回函数中第一个值的数组,您可以尝试按如下方式排列数组。
const defaulHeader = ["Content-Type: text/plain"]
const otherHeaders = ["Some-type: application/json"]
const headers = [
...defaulHeader,
...otherHeaders
]
console.log(headers)
添加回答
举报
