Команды консоли JavaScript
Для отправки сообщений и выполнения других задач в окне консоли JavaScript системы Visual Studio можно использовать команды. Примеры использования этого окна см. в разделе Краткое руководство. Отладка JavaScript с помощью консоли. Информация, содержащаяся в данном разделе, относится к приложениям для Магазина Windows и Магазина Windows Phone, созданным с помощью JavaScript. Информацию о поддерживаемых командах консоли в гибридных приложениях для нескольких устройств см. в разделе Отладка приложения. Информацию об использование консоли в инструментах Internet Explorer, вызываемых кнопкой F12, см. в этой статье.
Если окно консоли JavaScript закрыто, его можно открыть при отладке в Visual Studio, выбрав Отладка > Windows > Консоль JavaScript.
Примечание
Если во время сеанса отладки окно недоступно, убедитесь, что в свойствах отладки проекта тип отладчика установлен на Скрипт.
команды объекта console
В этой таблице показан синтаксис для команд объекта console, которые можно использовать в окне консоли JavaScript или для отправки сообщений в консоль из кода. Этот объект предоставляет несколько форм, позволяющих при необходимости разделять информационные сообщения и сообщения об ошибках.
Примечание
Чтобы отличить эту консоль от именованной консоли локальных объектов, можно воспользоваться более длинной командой из window.console.[command].
Команда |
Описание |
Пример |
---|---|---|
assert(expression, message) |
Отправляет сообщение, если expression имеет значение false. |
console.assert((x == 1), "assert message: x != 1"); |
clear() |
Удаляет сообщения из окна консоли (включая сообщения об ошибках в скрипте), а также скрипт, появляющийся в окне консоли. Не удаляет скрипт, введенный после появления на консоли запроса на ввод. |
console.clear(); |
count(title) |
Отправляет количество вызовов команды count в окно консоли. Каждый вызов команды count однозначно определяется дополнительным параметром title. Существующая запись в окне консоли определяется параметром title (при его наличии) и обновляется командой count. Новая запись не создается. Требования: Visual Studio 2013 |
console.count(); console.count("inner loop"); |
debug(message) |
Отправляет message в окно консоли. Эта команда идентична команде console.log. Объекты, передаваемые с помощью данной команды, преобразуются в строковый параметр. Требования: Visual Studio 2013 |
console.debug("logging message"); |
dir(object) |
Отправляет указанный объект в окно консоли и отображает его в визуализаторе объекта. Визуализатор можно использовать для изучения свойств в окне консоли. |
console.dir(obj); |
dirxml(object) |
Отправляет заданный параметром object объект узла XML в окно консоли и отображает его в виде дерева узла XML. Требования: Visual Studio 2013 |
console.dirxaml(xmlNode); |
error(message) |
Отправляет message в окно консоли. Текст сообщения красный и ему предшествует символ ошибки. Объекты, передаваемые с помощью данной команды, преобразуются в строковый параметр. |
console.error("error message"); |
group(title) |
Запускает группирование сообщений, отправляемых в окно консоли, и посылает необязательный заголовок title в качестве метки группы. Группы могут быть вложенными и отображаются в окне консоли в представлении в виде дерева. В некоторых сценариях команды group* могут упростить просмотр выходных данных в окне консоли, например при использовании модели компонентов. Требования: Visual Studio 2013 |
|
groupCollapsed(title) |
Запускает группирование сообщений, отправляемых в окно консоли, и посылает необязательный заголовок title в качестве метки группы. Группы, отправляемые с помощью команды groupCollapsed, по умолчанию отображаются в свернутом представлении. Группы могут быть вложенными и отображаются в окне консоли в представлении в виде дерева. Требования: Visual Studio 2013 |
Использование совпадает с использованием команды group. См. пример для команды group. |
groupEnd() |
Завершает текущую группу. Требования: Visual Studio 2013 |
См. пример для команды group. |
info(message) |
Отправляет message в окно консоли. Перед сообщением стоит символ "Информация". |
console.info("info message"); Дополнительные примеры см. в разделе Форматирование вывода команды console.log далее в этой статье. |
log(message) |
Отправляет message в окно консоли. При передаче объекта эта команда отправляет указанный объект в окно консоли и отображает его в визуализаторе объекта. Визуализатор можно использовать для изучения свойств в окне консоли. |
console.log("logging message"); |
msIsIndependentlyComposed(element) |
Используется в веб-приложениях. Не поддерживается в приложениях Магазина, использующих JavaScript. |
Не поддерживается. |
profile(reportName) |
Используется в веб-приложениях. Не поддерживается в приложениях Магазина, использующих JavaScript. |
Не поддерживается. |
profileEnd() |
Используется в веб-приложениях. Не поддерживается в приложениях Магазина, использующих JavaScript. |
Не поддерживается. |
select(element) |
Выбирает заданный элемент HTML element в проводнике DOM. Требования: Visual Studio 2013 |
console.select(element); |
time (name) |
Запускает таймер, определяемый дополнительным параметром name. При применении с командой console.timeEnd вычисляет время, прошедшее между моментами действия команд time и timeEnd, и отправляет результат (в мс) на консоль, используя строку name в качестве префикса. Используется для включения инструментирования кода приложения для измерения производительности. Требования: Visual Studio 2013 |
console.time("app start"); app.start(); console.timeEnd("app start"); |
timeEnd(name) |
Останавливает таймер, определяемый дополнительным параметром name. См. консольную команду time. Требования: Visual Studio 2013 |
console.time("app start"); app.start(); console.timeEnd("app start"); |
trace() |
Отправляет данные трассировки стека в окно консоли. Трассировка включает весь стек вызовов, в частности имя файла, номер строки и номер столбца. Требования: Visual Studio 2013 |
console.trace(); |
warn(message) |
Отправляет message в окно консоли, предваряя его символом предупреждения. Объекты, передаваемые с помощью данной команды, преобразуются в строковый параметр. |
console.warn("warning message"); |
Разные команды
Эти команды также доступны в окне консоли JavaScript.
Команда |
Описание |
Пример |
---|---|---|
$0, $1, $2, $3, $4 |
Возвращает указанный элемент в окно консоли. $0 возвращает элемент, выбранный в настоящее время в проводнике DOM, $1 возвращает элемент, ранее выбранный в проводнике DOM, и так далее до четвертого ранее выбранного элемента. |
$3 |
$(id) |
Возвращает элемент по идентификатору. Это команда быстрого доступа к document.getElementById(id), где id — это строка, представляющая идентификатор элемента. |
$("contenthost") |
$$(selector) |
Возвращает массив элементов, соответствующих указанному селектору, при помощи синтаксиса селектора CSS. Это команда быстрого доступа к document.querySelectorAll(). |
$$(".itemlist") |
cd() cd(window) |
Позволяет изменить контекст для оценки выражений с назначенного по умолчанию окна верхнего уровня страницы на окно заданного фрейма. Вызов cd() без параметров возвращает контекст в окно верхнего уровня. |
cd(); cd(myframe); |
select(element) |
Выбирает указанный элемент в проводнике DOM. |
select(document.getElementById("element")); select($("element")); select($1); |
dir(object) |
Возвращает визуализатор для заданного объекта. Визуализатор можно использовать для изучения свойств в окне консоли. |
dir(obj); |
Проверка наличия консольной команды
Перед попыткой использования той или иной команды можно проверить, существует ли она. В приведенном ниже примере проверяется наличие команды console.log. Если команда console.log существует, код вызывает ее.
if (console && console.log) {
console.log("msg");
}
Просмотр объектов в окне консоли JavaScript
При использовании окна консоли JavaScript можно взаимодействовать с любым объектом, находящимся в области. Чтобы проверить в окне консоли объект вне области, используйте console.log , console.dir и прочие команды в коде. Кроме того, для взаимодействия в окне консоли с объектом, находящимся в области, можно установить в коде точку останова (Точка останова > Вставить точку останова).
Форматирование вывода команды console.log
При передаче множественных аргументов команде console.log, консолью обрабатывает их как массив и объединяет вывод.
var user = new Object();
user.first = "Fred";
user.last = "Smith";
console.log(user.first, user.last);
// Output:
// Fred Smith
console.log также поддерживает шаблоны подстановки "printf" для форматирования вывода. При использовании шаблонов подстановки в первом аргументе, дополнительные аргументы будут использоваться для замены указанных шаблонов в том порядке, в котором они используются.
Поддерживаются следующие шаблоны подстановки:
- %s — строка
%i — целое число
%d — целое число
%f — число с плавающей запятой
%o — объект
%b — двоичные данные
%x — шестнадцатеричный
%e — экспонента
Несколько примеров использования шаблонов подстановки в console.log:
var user = new Object();
user.first = "Fred";
user.last = "Smith";
user.age = 10.01;
console.log("Hi, %s %s!", user.first, user.last);
console.log("%s is %i years old!", user.first, user.age);
console.log("%s is %f years old!", user.first, user.age);
// Output:
// Hi, Fred Smith!
// Fred is 10 years old!
// Fred is 10.01 years old!