Chrome Javascript控制台中带空格的奇怪字符串行为

时间:2015-11-07 18:13:39

标签: javascript string google-chrome

我无法在SO片段引擎中重新创建此行为,但我在Chrome(v46)中遇到了一些非常时髦的字符串操作行为。

查看Chrome JavaScript控制台的此屏幕截图:

chrome example

在我看来,切片的结果应该是( Here。也就是说,一个支架然后三个空格。不是一个支架,而是一个空间,这是它目前提供给我的。

我在Firefox中检查了完全相同的命令,这产生了我期望的结果:

firefox example

任何人都能想到对输出差异的解释吗?我是否密集?

更新

关于这是this的副本,我相信这个问题有两点不同:

  • 查询中的内容更清晰
  • 它询问为什么会出现这种现象,而不是如何解决问题

3 个答案:

答案 0 :(得分:3)

这只是一个DevTools问题,很可能已通过以下补丁解决http://src.chromium.org/viewvc/blink?view=revision&revision=201091

这是关于折叠多个白色字符,因为HTML渲染是默认完成的。上述补丁强制使用white-space: pre进行渲染。

答案 1 :(得分:0)

实际上没有问题。即使我尝试使用Chrome v46,空间也会在devtools中合并,这意味着输出/视图看起来只有一个空格,但实际上存在3个空格字符。检查以下快照。

enter image description here

答案 2 :(得分:-1)

不要欺骗自己:Chrome的行为是正确的。它只是调试控制台中使用的字体,使得连续的空白看起来更薄。您可以通过选中string.slice(1).length来证明这一点。