Я не уверен, если это действительно вопрос, или скорее наблюдение, или даже ошибка.
Во всем моем коде 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 после выхода из блока кода.
Измените
var data=5
вприведенный фиктивный код к
var data=3
, и вы увидите, что отступ будет неправильным!
В более общем смысле; Вложение console.group без использования console.log при каждом вызове console.group приводит к ложному отступу!
Я знаю, что ChromeDevTeam ссылался на консоль firebugapi при реализации chromedevtools и предположить, что в firebug это поведение одинаково.
Теперь я задаюсь вопросом, испытывал ли кто-либо подобное поведение?Кто-нибудь знает, соответствует ли это поведение ожиданиям?И, самое главное;Кто-нибудь знает обходной путь для решения этой проблемы отступов?Конечно, я мог бы что-то утешать при каждом открытии группы, но это не совсем идея, если вы спросите меня ..
Спасибо за любую полезную информацию по этой теме и извините, еслиэтот вопрос немного неубедительный: (* 1024 *
// Edit Nr2 -> Я обновил код, чтобы проиллюстрировать проблему. Теперь он генерирует ложные отступы, как описано (против того, что я ожидаю).