gpt4 book ai didi

javascript - 属性的直接访问显示与对象控制台输出不同的值

转载 作者:行者123 更新时间:2023-11-29 22:20:49 25 4
gpt4 key购买 nike

我已经为我的 js 脚本的奇怪行为绞尽脑汁了。当我将值 d.parent.x 输出到控制台并显示不同的值时,与我将 d.parent 打印到控制台并浏览该值时通过控制台。

在屏幕截图中,您看到对象本身的 x 值为 525.5,而 d.parent.x 的输出为 148。

我不确定这是 js 行为还是二手 D3.js 的行为.

我为它创建了一个 jsfiddle(sourceresult)。在 Chrome 或 Safari 中打开控制台时,您可以看到屏幕截图中的输出。

console screenshot

最佳答案

这是 console.log 的一个已知问题 - 它是基于引用的,并且在记录对象时基本上会在某些情况下结束缓存结果。

要绕过它,您通常可以执行 console.log(JSON.stringify(d.parent)) 但由于循环引用,这在您的情况下不起作用。我刚刚在您的脚本中设置了一个断点,并查看了 d.parentd.parent.x

enter image description here

它们确实产生了与 console.log(d.parent.x) 在您的原始代码中显示的值相同的值。

关于javascript - 属性的直接访问显示与对象控制台输出不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12544568/

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