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

2024-05-08

例如在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

甚至参数也作为命名参数传递,

这是为什么?


甚至参数也作为命名参数传递,

没有命名参数。

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" });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐