- PVSM.RU - https://www.pvsm.ru -
Со времён систематизации методов объекта console прошло достаточно много времени, некоторые браузеры получили поддержку недостающих ранее методов. Таблица вызывает естественный интерес у разрабочиков, поэтому — почему бы её не обновить, дополнив в одной статье описаниями?
Chrome | Firebug | Firefox | IE | Node.js | Safari | 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+) | ✓ | |
Chrome | Firebug | Firefox | IE | Node.js | Safari | Opera | |
info(object[, object, ...])
Аналогична .log(), но оформляется в ином дизайне, для различения типов сообщений, например, для градации важности или для иного смыслового значения этой группы сообщений. Поддерживаются паттерны (описаны в .log()).
|
|||||||
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
log(object[, object, ...])
Выводит аргументы в консоль, разделяя пробелами. Самая популярная из команд console.
Поддерживает паттерны — специальные имена в первом аргументе, указывающие, что его надо использовать как шаблон, в который будут подставляться следующие аргументы вместо термов (как в printf() на С, но значительно проще). Примеры:
Виды паттернов и тип данного, в который преобразуется значение подставляемого аргумента: |
|||||||
(важно) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ± ... |
markTimeline()
Аналог .timeStamp() для Safari, но в нём .timeStamp() не поддерживается, и наоборот.
|
|||||||
=.timeStamp() | -⊝- | -⊝- | -⊝- | -⊝- | -⊝- | ✓ | -⊝- |
profile([label])
Запускает Javascript-профайлер [17], затем показывает результаты под именем «label».
|
|||||||
✓ | ✓ | (devtools) | ✓ (10+) | -⊝- | ✓ | -⊝- | |
profileEnd()
Выключает Javascript-профайлер.
|
|||||||
✓ | ✓ | (devtools) | ✓ (10+) | -⊝- | ✓ | -⊝- | |
table(data[, columns])
Двумерные табличные данные — в формате таблицы. Data — массив или объект (или объект из объектов, объект из массивов), каждый элемент которого будет строкой в таблице. Первый столбец двумерного массива будет его индексом (от 0). Или, если это — объект, первый столбец будет состоять из ключей объекта. Пример из Firefox (объект объектов):
|
|||||||
✓ | ✓ [18] | ✓ [19] (34.0+) | -⊝- | -⊝- | -⊝- | -⊝- | |
time(label)
Включает счётчик (миллисекунд) под именем label.
|
|||||||
✓ | ✓ [20] | ✓ [21] (10+) | ✓ (11+) | ✓ | ✓ (4+) | ± | |
timeEnd(label)
Останавливает счётчик (миллисекунд) под именем label и публикует результат под этим именем. Пример (Хром):
|
|||||||
✓ | ✓ [22] | ✓ [23] (10+) | ✓ (11+) | ✓ | ✓ (4+) | ± | |
timeStamp([label])
Отрисовыввает метки времени на диаграмме таймингов скрипта, что позволяет следить за динамикой поведения программы. Пример (Firebug):
|
|||||||
✓ | ✓ [24] | -⊝- | -⊝- | -⊝- | -⊝- | -⊝- | |
trace()
Показывает стек трассировки функции на данный момент исполнения (то же, что обычно показывается при остановке на месте ошибки). Пример в Safari (в боковой панели), в Хроме (в консоли):
В Firefox: |
|||||||
✓ | ✓ | ✓ [25] (10+) | ✓ (11+) | ✓ | ✓ (7.0.1+) | ± ... | |
warn(object[, object, ...])
Аналогична .log() и .info(), но оформляется в ином дизайне, для различения типов сообщений. Поддерживаются паттерны (описаны в .log()).
|
|||||||
✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
debugger;
Останавливает выполнение Javascript на текущей строке. Равносилен установке точки останова (breakpoint) в отладчике. Кроме остановки, никак не отражается на исполняемой программе.
|
|||||||
(оператор) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
throw new Error('mesasge');
Останавливает выполнение Javascript на текущей строке, прерывая выполнение. (Поддерживается всеми средами исполнения Javascript.)
|
|||||||
Chrome [26] | Firebug [27] | Firefox [28] | IE [29] | Node.js [30] | 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/
Нажмите здесь для печати.