使用严格模式时无法检查范围变量

时间:2011-12-17 13:51:19

标签: javascript safari web-inspector

在Safari中运行以下脚本(打开Inspector)

window.onload = function() { 
    "use strict";
    var x = 1;
    debugger; // debugger will auto-break on this line
}

我在控制台中询问x时遇到以下错误:

Error
message: "'with' statements are not valid in strict mode"

删除"use strict";行可让我在该断点处从控制台访问x

x两次都显示在侧边栏的Scope Variables下。

1 个答案:

答案 0 :(得分:24)

这似乎是Safari的一个已知问题:https://bugs.webkit.org/show_bug.cgi?id=65829

要重现错误,您只需在控制台中输入任何代码,同时在断点处和严格模式下停止。

以下是错误报告中的代码:

(function(){
    "use strict";
    debugger;
})();

所以当你在断点处时,转到控制台并输入2+3(或任何表达式),你就会得到错误。

enter image description here