Firefox Javascript调试器中的错误行为

时间:2016-03-10 16:18:52

标签: javascript firefox

我创建了一个非常简单的脚本:

<script>    
    var a = null;

    if (a == null) {
        console.log('a is null');
    }
    else {
        console.log('a is not null');
    }
</script>

当我在开发人员工具中打开调试器选项卡并开始调试脚本时,我意识到脚本按预期执行但执行语句后的调试器 console.log(&#39; a为空&# 39;); 当我按F10转到下一个语句时,调试器停在else console.log中的另一个 console.log 语句中(&#39; a不是null&#39;; 但是调试器没有执行它(如预期的那样)

但这不是预期的行为,所以当我调试复杂的代码时,我不知道调试器是否正在执行else语句。

我在谷歌浏览器中尝试了相同的操作,调试器按预期工作。在语句 console.log中按F10(&#39; a为空&#39;); 后,调试器完成了脚本的执行。

这是一个错误还是我错过了什么?

此外,我已经在Firefox中为XUbuntu 14.04测试了相同的代码,同样的情况也在发生(我现在不记得Firefox的版本是什么,但我认为它约为30.x)所以这个行为已经够老了。

我现在使用Firefox 45进行了测试,我得到了同样的行为。

这是在 console.log语句中按F10后调试器的屏幕截图(&#39; a为空&#39;);

enter image description here

就像我之前说的那样,这句话没有被执行。可以在控制台标签中验证它。

问题是:这是一个错误还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

它是Firefox中的bug。这纯粹是一个演示问题。我们试图显示函数的结束,但由于一些奇怪的原因,我们实际上显示了最后一个块中的最后一个表达式。