此代码有效......它创建了一个Test
对象,当初始化该Test
个对象时,会创建InnerObject
并将其推送到objects
数组中。
list()
方法返回objects
数组的副本。
我在list()
及其下面记录line 42
方法的返回值,在line 46
上,我更新objects
数组中的对象(改变它)。
我不明白为什么在line 42
之前执行此行时{0}会反映此突变的原因。
line 46
答案 0 :(得分:0)
可能是因为console.log()是异步执行的:
从那里的答案中读到,我怀疑这是在发生什么。
要将此作为您实际代码的问题排除在外,建议强制将其解释为当时:console.log(JSON.stringify(obj.list()))
答案 1 :(得分:0)
当我在browser console或nodejs中运行时,元素的属性值表现为您所说的瞄准的预期方式,即它们不是更新直到更新调用之后。
您在运行此类型的环境中?