选择题1559/1603输出的是什么?

1function getInfo(member, year) { 2 member.name = "Lydia"; 3 year = "1998"; 4} 5 6const person = { name: "Sarah" }; 7const birthYear = "1997"; 8 9getInfo(person, birthYear); 10 11console.log(person, birthYear);
难度:
2021-07-02 创建

本题为"单选题"

参考答案:

正确选项:A:{ name: "Lydia" }, "1997"

普通参数都是 传递的,而对象则不同,是 引用 传递。所以说,birthYear是值传递,因为他是个字符串而不是对象。当我们对参数进行值传递时,会创建一份该值的 复制 。(可以参考问题46) 变量birthYear有一个对"1997"的引用,而传入的参数也有一个对"1997"的引用,但二者的引用并不相同。当我们通过给 year赋值"1998"来更新year的值的时候我们只是更新了year(的引用)。此时birthYear仍然是"1997". 而person是个对象。参数member引用与之 相同的 对象。当我们修改member所引用对象的属性时,person的相应属性也被修改了,因为他们引用了相同的对象. personname属性也变成了 "Lydia".

最近更新时间:2021-07-03

赞赏支持

题库维护不易,您的支持就是我们最大的动力!