gpt4 book ai didi

javascript - 为什么即使参数作为命名参数传递,参数的顺序仍然保持不变?在 JavaScript 中

转载 作者:行者123 更新时间:2023-12-01 01:53:10 28 4
gpt4 key购买 nike

例如在Python中:

def dfde(name,age):
print(age)
print(name)
print(age)

dfde(age=27,name="dfd")

输出如下:

27
dfd
27

但是 JavaScript 中的相同内容将给出输出:

let dfde = function(name, age){
console.log(age);
console.log(name);
console.log(age);
}

dfde(age=27, name="dfd")

输出为:

dfd
27
dfd

even arguments are passed as named arguments,

这是为什么?

最佳答案

even arguments are passed as named arguments,

没有命名参数。

dfde(age = 27, name = "dfd")

等同于:

dfde(27, "dfd")

(另外age = 27创建一个新的全局变量age并为其赋值)

<小时/>

要在 js 中使用命名参数之类的东西,你必须传递一个对象文字并解构它:

function dfde({name, age}) {
console.log(name, age);
}

dfde({ name: "dfd", age: 27 });
// Same as
dfde({ age: 27, name: "dfd" });

关于javascript - 为什么即使参数作为命名参数传递,参数的顺序仍然保持不变?在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51259580/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com