【发布时间】:2021-12-31 05:37:06
【问题描述】:
以下按预期打印 3。
let bar = 3
let obj = { foo: bar }
console.log(obj.foo);
但是,如果我更改 bar 的值,则 obj.foo 的值不会更改。另外,如果我改变 obj.foo 的值,bar 的值不会改变。
这告诉我,当创建对象时,它并没有真正使用 bar 作为右值,它使用它的值作为值。如何以不同方式定义 obj 以使两个值始终匹配?
【问题讨论】:
-
老实说,我不太确定这个,但我建议在对象内部使用
get和set函数。 -
JS 没有传递引用。
标签: javascript object pass-by-reference