gpt4 book ai didi

javascript - 从变量修改对象属性

转载 作者:行者123 更新时间:2023-11-28 14:49:50 25 4
gpt4 key购买 nike

我正在尝试做这样的事情:

var obj={o:"a string"};
var o=obj.o
console.log(o)
o='modified'
console.log(o)
console.log(obj.o)

结果是:

a string
modified
a string

但我希望它是:

a string
modified
modified

我也尝试解构但没有成功:似乎属性和变量没有链接。

有没有办法将 o 链接到 obj.o ?我不想使用 obj.o 来修改 obj 属性,而是使用 o 。

预先感谢您的帮助。

最佳答案

不,您不能“链接”变量和对象属性。

如果 o 属性是对对象的引用,则它将起作用:

var obj = { o: { foo: 'bar' } };
var o = obj.o;
o.foo = 'baz';
console.log(obj.o.foo); // 'baz'

然而,基元被复制,您无法获取对字符串的引用。当您读取 obj 的属性 o 的值时,该值会被复制,因为它是一个字符串,并且您会得到一个与旧字符串无关的新字符串对象中的字符串。

当您将新字符串分配给变量时,旧字符串值将丢失(至少对于变量 o 而言)。

关于javascript - 从变量修改对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44911928/

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