是firebug / chromedevtools console.group缩进错了吗?

时间:2011-06-21 22:49:19

标签: javascript console firebug indentation google-chrome-devtools

我不确定,如果这确实是一个问题或更多的观察 - 甚至是一个错误。

在我的javascript代码中,我使用了许多console.log和console.group语句来跟踪内部发生的事情。代码也进行了一些递归,因此使组的缩进正确非常重要。

//working dummy code illustrating the problem
var data=3;
var demo=(function(){
    var internal=function(){
        console.group("internal");
        console.log("some smart shit");
        console.groupEnd();
    }

    console.group("inside the closure1");
    console.group("inside the closure2");

    internal();

    if (data===5){
        console.log("funny Things");
    }

    console.groupEnd();
    console.log("some smart shit 1");
    console.groupEnd();

}( data ));
console.log("Indentation correct?!");

如果执行了所有代码块,则控制台中内置的树会变深,但会将气泡返回到层次结构的根级别。现在,如果一个块没有执行另一个块并且没有被记录到控制台,则在离开代码块后,缩进将保持为+1。

将obove虚拟代码中的

var data=5
更改为
var data=3
,您会看到缩进错误!

更一般地说; 每次调用console.group时都不使用console.log来嵌套console.group导致错误缩进!

我知道,ChromeDevTeam在实施chromedevtools时已经引用firebug console api并假设此行为在firebug中是相同的。

我现在质疑是否有人经历过同样的行为? 有人知道这种行为是否符合预期? 最重要的是;有没有人知道解决这个缩进问题的解决方法? 当然,每当我打开一个小组时,我都可以使用console.log,但如果你问我,这不是真的想法。

感谢有关此主题的任何有用信息,对不起,如果这个问题有点蹩脚:(

//编辑Nr2 - >我已经更新了代码来说明问题。它现在会产生所描述的虚假缩进(违背我的预期)。

1 个答案:

答案 0 :(得分:1)

我在此问题上提出了错误:https://bugs.webkit.org/show_bug.cgi?id=63455