【问题标题】:Chrome DevTools - inconsistent array lengthChrome DevTools - 数组长度不一致
【发布时间】:2021-01-20 18:59:13
【问题描述】:

我似乎偶然发现了 Chrome DevTools 中的一个不一致之处。

以上是来自 DevTools 的屏幕截图。起初,我被告知打印的对象包含一个Body 和一个Head。头部应该是一个长度为1 的数组。当我展开时,这个数组突然变成了长度2

当扩展有问题的数组时,我得到以下信息:

所以数组中似乎也有一个空字符串。这个空字符串是导致我的代码出现问题的原因,这促使我进行调查。

不过,我最关心的是 DevTools 的输出,谁能想到为什么 DevTools 会为同一个数组提供两种不同的长度?

DevTools 是否会自动将长度为 1 的数组的内容解析为单独的变量?在那种情况下,我会期待Head: [Array[2]]

我正在使用console.log 在 Ubuntu VirtualBox 上的 Chrome DevTools 中输出列出的屏幕截图。

【问题讨论】:

    标签: javascript arrays google-chrome google-chrome-devtools console.log


    【解决方案1】:

    这是因为初始显示,是这种格式的:

    Object {Body: Array[20], Head: Array[1]}
    

    在控制台首次记录它时生成。展开后,它会加载对象的所有属性,如果在记录和打开它之间属性发生了变化,它会显示不同的值。

    您可以将鼠标悬停在对象后面显示的浅蓝色 i 上,以查看 Chrome 对此本身的说明。

    【讨论】:

    • 是否可以禁用此行为?
    • @TomHart 据我所知没有。扩展对象旁边的蓝色 i 也没有提到任何可以更改的设置,所以我猜想没有办法更改它。如果您确实找到了方法,请发布对此问题的新答案,以告知其他人如何做到这一点。这似乎也与这个问题有关。
    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2013-06-16
    • 1970-01-01
    相关资源
    最近更新 更多