gpt4 book ai didi

javascript - 为什么在向它分配其他内容时不通过引用传递该对象?

转载 作者:IT王子 更新时间:2023-10-29 02:58:46 26 4
gpt4 key购买 nike

我知道在JS中,对象是通过引用传递的,例如:

function test(obj) {
obj.name = 'new name';
}

var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // new name

但为什么下面的方法不起作用:

function test(obj) {
obj = {};
}

var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // foo

我已将对象设置为 {}(空),但它仍然显示 foo

谁能解释一下这背后的逻辑?

最佳答案

如果您熟悉指针,那么您可以进行类比。你实际上传递了一个指针,所以 obj.someProperty 会取消对该属性的引用并实际覆盖它,而仅仅覆盖 obj 会杀死指针而不是覆盖对象.

关于javascript - 为什么在向它分配其他内容时不通过引用传递该对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9437981/

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