Работа с консолью в разных браузерах

http://habrahabr.ru/post/253359/
https://github.com/spmbt/jsConsoleApiReference

Chrome
Firebug
Firefox
 IE
Node.js
Safari
Opera
assert(expression[, object, …])
Если выражение expression ложно, выводит console.error, иначе — ничего не выводит.
  +   +   + (28.0+)   +   +   +   ±
clear()
Очищает окно консоли.
  +   + -⊝-   + -⊝-   +   +
count([object])
Каждый раз выводит количество проходов данной точки кода. Если есть аргумент object, то перед значением счётчика выводится object.toString().
  +   +   + (30.0+)   + -⊝-   + ± …
debug(object[, object, …])
Эквивалент console.log для совместимости со старым вариантом объекта console, когда .debug выводил дополнительно ссылку на строку кода, из которой он был вызван.
   равно .log()
  +   +   +   + -⊝-   + ± …
dir(object)
object выводится как Javascript-объект (для DOM-элементов — все их атрибуты и методы). Похожим образом работает %O в console.log в Chrome.
  +   +   + (8+)   + (9+)   +   +   +
dirxml(object)
Выводится XML-код объекта.
  +   + -⊝-   + (11+) -⊝-   + ± …
error(object[, object, …])
Выводит ошибку и результат console.trace для места, откуда она была вызвана (не останавливая выполнение программы). Поддерживаются паттерны (%s, %d (%i), %f, %o, %O, %c), как в console.log. Пример с трассировкой стека вызовов (Firefox 31+):

  + ± …   +   + (8+)   +   + ± …
exception(object[, object, …])
Эквивалент .error().
  равно .error()
-⊝- -⊝-   + (28+) -⊝- -⊝- -⊝- -⊝-
group(object[, object, …])
Начинает развёрнутую группу записей в консоли, которая вручную затем может сворачиваться. Группа оканчивается командой .groupEnd(). Поддерживаются паттерны (см. .log()). Пример кода и результата (из статьи «Возможности консоли браузера», 2013):(javascript)

 

  +   + ± …   + (11+) -⊝- + (4+)   +
groupCollapsed(object[, object, …])
Начинает изначально свёрнутую группу записей в консоли, которая вручную затем может разворачиваться. Группа оканчивается командой .groupEnd(). Поддерживаются паттерны (см. .log()).
  +   + ± … (9+)   + (11+) -⊝- + (5.1+)   +
groupEnd()
Обозначает конец группы сообщений лога, которые способны сворачиваться-разворачиваться (кроме Firefox) вручную.
  +   +   + (9+)   + (11+) -⊝- + (4+)   +
Chrome
Firebug
Firefox
IE
Node.js
Safari
Opera
info(object[, object, …])
Аналогична .log(), но оформляется в ином дизайне, для различения типов сообщений, например, для градации важности или для иного смыслового значения этой группы сообщений. Поддерживаются паттерны (описаны в .log()). Пример различий для Firebug, Chrome, IE9:

  +   +   +   +   +   +   +
log(object[, object, …])
Выводит аргументы в консоль, разделяя пробелами. Самая популярная из команд console.Поддерживает паттерны — специальные имена в первом аргументе, указывающие, что его надо использовать как шаблон, в который будут подставляться следующие аргументы вместо переменных в шаблоне (как в printf() на С, но значительно проще). Примеры:

(javascript)

 

Виды паттернов и тип данного, в который преобразуется значение подставляемого аргумента:

%s — строка.

%d или %i — число.

%f — число с плавающей точкой (Firebug тоже поддерживает).

%o — DOM-элемент (Firebug выводит как ссылку на элемент. Chrome, кроме ссылки, отображает элемент в консоли. Firefox по клику открывает элемент в модальном окне (доступны все атрибуты и методы этого объекта)).

%O — JS-объект (не поддерживается в Firefox; Chrome преобразует DOM-объект в JS-объект для этого паттерна; Firebug не отличает %o от %O).

%c — CSS-стиль (color, background, font; в Firefox — c версии 31). Пример стилизации паттерном %c (Firefox):

    (важно)
  +   +   +   +   +   + ± …
markTimeline()
Аналог .timeStamp() для Safari, но в нём .timeStamp() не поддерживается, и наоборот.
 =.timeStamp()
-⊝- -⊝- -⊝- -⊝- -⊝-   + -⊝-
profile([label])
Запускает Javascript-профайлер, затем показывает результаты под именем label.
  +   + (devtools) + (10+) -⊝-   + -⊝-
profileEnd()
Выключает Javascript-профайлер.
  +   + (devtools) + (10+) -⊝-   + -⊝-
table(data[, columns])
Двумерные табличные данные — в формате таблицы. Data — массив или объект (или объект из объектов, объект из массивов), каждый элемент которого будет строкой в таблице. Первый столбец двумерного массива будет его индексом (от 0). Или, если это — объект, первый столбец будет состоять из ключей объекта. Пример из Firefox (объект объектов):

Columns — дополнительный массив названий колонок для заголовков таблицы, если строки созданы из массивов, а мы не хотим, чтобы названиями были числовые индексы. Выше — был пример результата (Firefox), полученного или из именованных колонок, или из объекта объектов. Ниже — что было бы из массива массивов без параметра columns:

  +   +   + (34.0+) -⊝- -⊝- -⊝- -⊝-
time(label)
Включает счётчик (миллисекунд) под именем label.
  +   +   + (10+) + (11+)   + + (4+)   ±
timeEnd(label)
Останавливает счётчик (миллисекунд) под именем label и публикует результат под этим именем. Пример (Хром):

  +   +   + (10+) + (11+)   + + (4+)   ±
timeStamp([label])
Отрисовывает метки времени на диаграмме таймингов скрипта, что позволяет следить за динамикой поведения программы. Пример (Firebug):

  +   + -⊝- -⊝- -⊝- -⊝- -⊝-
trace()
Показывает стек трассировки функции на данный момент исполнения (то же, что обычно показывается при остановке на месте ошибки). Пример в Safari (в боковой панели), в Хроме (в консоли):

В Firefox:

  +   +   + (10+) + (11+)   + + (7.0.1+) ± …
warn(object[, object, …])
Аналогична .log() и .info(), но оформляется в ином дизайне, для различения типов сообщений. Поддерживаются паттерны (описаны в .log()).
  +   +   +   +   +   +   +
debugger;
Останавливает выполнение Javascript на текущей строке. Равносилен установке точки останова (breakpoint) в отладчике. Кроме остановки, никак не отражается на исполняемой программе.
  (оператор)
  +   +   +   +   +   +   +
throw new Error(‘mesasge’);
Останавливает выполнение Javascript на текущей строке, прерывая выполнение. (Поддерживается всеми средами исполнения Javascript.)

LEAVE A COMMENT