- PVSM.RU - https://www.pvsm.ru -

Справочник методов console в JS

Справочник методов console в JS - 1Со времён систематизации методов объекта console прошло достаточно много времени, некоторые браузеры получили поддержку недостающих ранее методов. Таблица вызывает естественный интерес у разрабочиков, поэтому — почему бы её не обновить, дополнив в одной статье описаниями?

Справочник методов console в JS - 2 Chrome Справочник методов console в JS - 3 Firebug Справочник методов console в JS - 4 Firefox Справочник методов console в JS - 5 IE Справочник методов console в JS - 6 Node.js Справочник методов console в JS - 7 Safari Справочник методов console в JS - 8 Opera
assert(expression[, object, ...])

Если выражение expression ложно, выводит console.error, иначе — ничего не выводит.
  ✓   ✓ ✓ [1] (28.0+)   ✓ [2]   ✓   ✓   ±
clear()

Очищает окно консоли.
  ✓   ✓ -⊝-   ✓ [3] -⊝-   ✓   ✓
count([object])

Выводит, сколько раз данный код был выполнен. Если необязательный аргумент object передан, то перед значением счётчика, выводится object.toString()**.
  ✓   ✓ ✓ [4] (30.0+)   ✓ [5] -⊝-   ✓ ± ...
debug(object[, object, ...])

Эквивалент console.log для совместимости со старым вариантом объекта console, когда .debug выводил дополнительно ссылку на строку кода, из которой он был вызван.
   равно .log()   ✓   ✓   ✓   ✓ [6] -⊝-   ✓ ± ...
dir(object)

object выводится как Javascript-объект (для DOM-элементов — все их аттрибуты и методы). Похожим образом работает %O в console.log в Chrome.
  ✓   ✓ ✓ [7] (8+) ✓ [8] (9+)   ✓   ✓   ✓
dirxml(object)

Выводится XML-код объекта.
  ✓   ✓ -⊝- ✓ [9] (11+) -⊝-   ✓ ± ...
error(object[, object, ...])

Выводит ошибку и результат console.trace для места, откуда она была вызвана (не останавливая выполнение программы). Поддерживаются паттерны(%s, %d (%i), %f, %o, %O, %c), как в console.log.
  ✓ ± ... ± ... ✓ [10] (8+)   ✓   ✓ ± ...
exception(object[, object, ...])

Эквивалент error()
  равно .error() -⊝- -⊝- ✓ [11] (28+) -⊝-        -⊝- -⊝- -⊝-
group(object[, object, ...])

Начинает развёрнутую группу записей в консоли, которая вручную затем может сворачиваться. Группа оканчивается командой .groupEnd(). Поддерживаются паттерны (см. .log()).
  ✓   ✓ ± ... ✓ [12] (11+) -⊝- ✓ (4+)   ✓
groupCollapsed(object[, object, ...])

Начинает изначально свёрнутую группу записей в консоли, которая вручную затем может разворачиваться. Группа оканчивается командой .groupEnd(). Поддерживаются паттерны (см. .log()).
  ✓   ✓ ± ... (9+) ✓ [13] (11+) -⊝-   ✓ (5.1+)   ✓
groupEnd()

Обозначает конец группы.
  ✓   ✓ [14] ✓ [15] (9+) ✓ [16] (11+) -⊝-   ✓ (4+)   ✓
Справочник методов console в JS - 9 Chrome Справочник методов console в JS - 10 Firebug Справочник методов console в JS - 11 Firefox Справочник методов console в JS - 12 IE Справочник методов console в JS - 13 Node.js Справочник методов console в JS - 14 Safari Справочник методов console в JS - 15 Opera
info(object[, object, ...])

Аналогична .log(), но оформляется в ином дизайне, для различения типов сообщений, например, для градации важности или для иного смыслового значения этой группы сообщений. Поддерживаются паттерны (описаны в .log()).
  ✓   ✓   ✓   ✓   ✓   ✓   ✓
log(object[, object, ...])

Выводит аргументы в консоль, разделяя пробелами. Самая популярная из команд console.

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

console.log('У Пети было %d %s',10,'яблок');
console.log('Пи равно %f',Math.PI);
console.log('%cКаждый %cОхотник %cЖелает%c знать где сидит фазан','color:red;','font-size:16px;color:orange;','background:black;color:yellow;','font:normal;color:normal;background:normal;');
console.log('body as DOM: %o',document.getElementsByTagName('body')[0]);
console.log('object: %O',{a:1,b:2});
console.log('body as Object: %O',document.getElementsByTagName('body')[0]);

Виды паттернов и тип данного, в который преобразуется значение подставляемого аргумента:
%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).

    (важно)   ✓   ✓   ✓   ✓   ✓   ✓ ± ...
markTimeline()

Аналог .timeStamp() для Safari, но в нём .timeStamp() не поддерживается, и наоборот.
 =.timeStamp() -⊝- -⊝- -⊝- -⊝- -⊝-   ✓ -⊝-
profile([label])

Запускает Javascript-профайлер [17], затем показывает результаты под именем «label».
  ✓   ✓ (devtools) ✓ (10+) -⊝-   ✓ -⊝-
profileEnd()

Выключает Javascript-профайлер.
  ✓   ✓ (devtools) ✓ (10+) -⊝-   ✓ -⊝-
table(data[, columns])

Двумерные табличные данные — в формате таблицы. Data — массив или объект (или объект из объектов, объект из массивов), каждый элемент которого будет строкой в таблице. Первый столбец двумерного массива будет его индексом (от 0). Или, если это — объект, первый столбец будет состоять из ключей объекта. Пример из Firefox (объект объектов):
Справочник методов console в JS - 16
  ✓   ✓ [18] ✓ [19] (34.0+) -⊝- -⊝- -⊝- -⊝-
time(label)

Включает счётчик (миллисекунд) под именем label.
  ✓ ✓ [20] ✓ [21] (10+) ✓ (11+)   ✓ ✓ (4+)   ±
timeEnd(label)

Останавливает счётчик (миллисекунд) под именем label и публикует результат под этим именем. Пример (Хром):
Справочник методов console в JS - 17
  ✓   ✓ [22] ✓ [23] (10+) ✓ (11+)   ✓ ✓ (4+)   ±
timeStamp([label])

Отрисовыввает метки времени на диаграмме таймингов скрипта, что позволяет следить за динамикой поведения программы. Пример (Firebug):
Справочник методов console в JS - 18
  ✓   ✓ [24] -⊝- -⊝- -⊝- -⊝- -⊝-
trace()

Показывает стек трассировки функции на данный момент исполнения (то же, что обычно показывается при остановке на месте ошибки). Пример в Safari (в боковой панели), в Хроме (в консоли):
Справочник методов console в JS - 19 Справочник методов console в JS - 20
В Firefox:
Справочник методов console в JS - 21
  ✓   ✓ ✓ [25] (10+) ✓ (11+)   ✓ ✓ (7.0.1+) ± ...
warn(object[, object, ...])

Аналогична .log() и .info(), но оформляется в ином дизайне, для различения типов сообщений. Поддерживаются паттерны (описаны в .log()).
  ✓   ✓   ✓   ✓   ✓   ✓   ✓
debugger;

Останавливает выполнение Javascript на текущей строке. Равносилен установке точки останова (breakpoint) в отладчике. Кроме остановки, никак не отражается на исполняемой программе.
  (оператор)   ✓   ✓   ✓   ✓   ✓   ✓   ✓
throw new Error('mesasge');

Останавливает выполнение Javascript на текущей строке, прерывая выполнение. (Поддерживается всеми средами исполнения Javascript.)
Справочник методов console в JS - 22 Chrome [26] Справочник методов console в JS - 23 Firebug [27] Справочник методов console в JS - 24 Firefox [28] Справочник методов console в JS - 25 IE [29] Справочник методов console в JS - 26 Node.js [30] Справочник методов console в JS - 27 Safari [31] Opera [32]

• Console API Reference for Chrome [26]
• Console API in Firebug [27]
• Console object (MDN) [28]
• Console object in IE10 (MSDN) [29]
• in Node.js v0.12.0 [30]
• … in Safari Web Inspector Guide [31]
• Console in Opera Dragonfly [32]

• Используем console на полную [33]
• Продвинутая JavaScript отладка при помощи console.table() [34]
• Релиз Firebug 1.6 [35] (console.table)
• Using the F12 Tools Console to View Errors and Status [36] (MSDN)

• FireBug* Console API [37] — описаны тонкости реализации, замеченные в тестах браузеров 2013 г;
• API консоли Javascript [38]

Автор: spmbt

Источник [39]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/86159

Ссылки в тексте:

[1] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/assert

[2] ✓: https://msdn.microsoft.com/en-us/library/ie/hh772171%28v=vs.85%29.aspx

[3] ✓: https://msdn.microsoft.com/en-us/library/ie/jj152131%28v=vs.85%29.aspx

[4] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/count

[5] ✓: https://msdn.microsoft.com/en-us/library/ie/dn265064%28v=vs.85%29.aspx

[6] ✓: https://msdn.microsoft.com/en-us/library/ie/dn265066%28v=vs.85%29.aspx

[7] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/dir

[8] ✓: https://msdn.microsoft.com/en-us/library/ie/jj152132%28v=vs.85%29.aspx

[9] ✓: https://msdn.microsoft.com/en-us/library/ie/dn265067%28v=vs.85%29.aspx

[10] ✓: https://msdn.microsoft.com/en-us/library/ie/hh772176%28v=vs.85%29.aspx

[11] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/error

[12] ✓: https://msdn.microsoft.com/en-us/library/ie/dn265068%28v=vs.85%29.aspx

[13] ✓: https://msdn.microsoft.com/en-us/library/ie/dn265069%28v=vs.85%29.aspx

[14] ✓: https://getfirebug.com/wiki/index.php/Console.groupEnd

[15] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/groupEnd

[16] ✓: https://msdn.microsoft.com/en-us/library/ie/dn265070%28v=vs.85%29.aspx

[17] Запускает Javascript-профайлер: https://developer.chrome.com/devtools/docs/console-api#consoleprofile

[18] ✓: http://www.softwareishard.com/blog/firebug/tabular-logs-in-firebug/

[19] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/table

[20] ✓: https://getfirebug.com/wiki/index.php/Console.time

[21] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/time

[22] ✓: http://www.stoimen.com/blog/2010/02/02/firebugs-console-time-accuracy/

[23] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/timeEnd

[24] ✓: http://www.softwareishard.com/blog/firebug/firebug-1-8-console-timestamp/

[25] ✓: https://developer.mozilla.org/en-US/docs/Web/API/Console/trace

[26] Chrome: https://developer.chrome.com/devtools/docs/console-api

[27] Firebug: https://getfirebug.com/wiki/index.php/Console_API

[28] Firefox: https://developer.mozilla.org/en-US/docs/Web/API/Console

[29] IE: https://msdn.microsoft.com/en-us/library/ie/hh772169%28v=vs.85%29.aspx

[30] Node.js: https://nodejs.org/api/console.html

[31] Safari: https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/Console/Console.html#//apple_ref/doc/uid/TP40007874-CH6-SW3

[32] Opera: http://www.opera.com/dragonfly/documentation/console/

[33] Используем console на полную: http://habrahabr.ru/post/114483/

[34] Продвинутая JavaScript отладка при помощи console.table(): http://habrahabr.ru/post/202394/

[35] Релиз Firebug 1.6: http://habrahabr.ru/post/109046/

[36] Using the F12 Tools Console to View Errors and Status: https://msdn.microsoft.com/library/gg589530

[37] FireBug* Console API: http://habrahabr.ru/post/188066/

[38] API консоли Javascript: http://habrahabr.ru/post/198372/

[39] Источник: http://habrahabr.ru/post/253359/