小编Jac*_*ica的帖子

Chrome DevTools 的“急切评估”预览文本将显示哪些表达式结果的一般规则到底是什么?

作为自 Chrome 68 起的一个选项(自 Chrome 72 或更早版本起默认启用),DevTools 控制台会在您键入时对某些表达式进行“热切求值”结果预览。

例如,如果您输入

encodeURIComponent(document.querySelector('.top-bar .-logo').innerHTML);
Run Code Online (Sandbox Code Playgroud)

您会看到粉红色的预览

"%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cspan%20class%3D%22-img%20_glyph%22%3EStack%20Overflow%3C%2Fspan%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20"
Run Code Online (Sandbox Code Playgroud)

如下,无需按 Enter 键。

然而,这不起作用,例如

document.querySelector('.top-bar .-logo').href;
Run Code Online (Sandbox Code Playgroud)

并且(正如预期的那样)它不适用于包含循环的表达式。

是否在某个地方准确记录了哪些表达式适用于此,哪些不适用?该功能的最初公告提到

DevTools 不会立即评估表达式是否会产生副作用

但这似乎并不能解释为什么它适用于.innerHTML但不适用.href

到底是什么决定了它将尝试计算哪些表达式?

javascript google-chrome google-chrome-devtools

3
推荐指数
1
解决办法
373
查看次数