【发布时间】:2016-08-10 06:12:30
【问题描述】:
我在 Chome devtools 中运行下一个代码
(function() {
var a = 5;
debugger; // when I stop here I evaluate `a = 9`
console.log(a);
})(); // and got 5
但如果我使用
(function() {
var a = { a: 5 };
debugger; // when I stop here I evaluate `a.a = 9`
console.log(a.a);
})(); // and got 9
为什么?
PS 还有为什么它在 FF / Safari 中不起作用(它甚至没有在调试器行中停止)
【问题讨论】:
-
在运行第二个示例时,我在控制台中有 5 个 loggen
-
这似乎是问题bugs.chromium.org/p/chromium/issues/detail?id=124206 已在版本 35 中修复,但在版本 49 中回归(我假设您正在使用),并将在版本 52 中修复。
-
在 firefox 中,只有在调试器处于活动状态时才会停止,否则不会停止。
-
@the
debugger;在与 Chrome 相同的标准下(即开发工具已打开),在 FF 中对我来说似乎可以正常工作。如果在 FF 中打开开发工具,脚本会在 jsfiddle.net/t1mztbup/2 处暂停吗?
标签: javascript google-chrome debugging