gpt4 book ai didi

Javascript 在函数内部使对象字面量等于 {},

转载 作者:行者123 更新时间:2023-11-30 09:24:02 25 4
gpt4 key购买 nike

How to understand this output?

为什么 data.value 仍然等于“value”?

function funcA(data) {
data.key = 'data';
}

function funcB(data) {
data = {};
data.value = 'data';
}
var data = {
key: 'key',
value: 'value'
};

funcA(data);
funcB(data);
console.log(data.key); //data
console.log(data.value); //value

请帮忙。我不知道如何理解这个问题。感谢您提前提供帮助。

最佳答案

您必须了解对象是如何在 JavaScript 函数中传递的。它是对正在传递的内存中对象的引用。在 funcB 中执行 data = {} 后,函数的引用的本地副本 data 现在指向新的空对象,不是函数外部定义的 data 的原始位置。然后,data.value = 'data' 行只是修改该本地空对象,而不是原始对象。

关于Javascript 在函数内部使对象字面量等于 {},,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49910097/

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