Функции и селекторы средств консоли
API консольных служебных программ содержит коллекцию удобных переменных и функций для выполнения распространенных задач, таких как:
- Выбор и проверка элементов DOM.
- Отображение данных в доступном для чтения формате.
- Остановка и запуск профилировщика.
- Мониторинг событий DOM.
Эти переменные и функции работают только путем ввода их непосредственно в консоль DevTools; Нельзя использовать переменные и вызывать функции из скриптов.
Сводка
Переменная или функция | Описание |
---|---|
Недавно оцененное выражение: $_ | Возвращает значение последнего вычисляемого выражения. |
Недавно выбранный элемент или объект JavaScript: $0–$4 | Возвращает недавно выбранный элемент или объект JavaScript. |
Селектор запросов: $(селектор) | Селектор запросов; возвращает ссылку на первый элемент DOM с указанным селектором CSS, например document.querySelector() . |
Селектор запросов: $$(selector, [startNode]) | Все селектор запросов; возвращает массив элементов, соответствующих указанному селектору CSS, например document.querySelectorAll() . |
XPath: $x(path, [startNode]) | Возвращает массив элементов DOM, соответствующих указанному выражению XPath. |
clear() | Очищает историю консоли. |
copy(object) | Копирует строковое представление указанного объекта в буфер обмена. |
debug(function) | При вызове указанной функции вызывается отладчик и прерывается внутри функции на панели Источники. |
dir(object) | Отображает список всех свойств указанного объекта в стиле объекта, например console.dir() . |
dirxml(object) | Выводит XML-представление указанного объекта, которое отображается в инструменте Элементы , например console.dirxml() . |
inspect(object/function) | Открывает и выбирает указанный элемент DOM в инструменте Элементы или указанный объект кучи JavaScript в средстве "Память ". |
getEventListeners(object) | Возвращает прослушиватели событий, зарегистрированные в указанном объекте . |
keys(object) | Возвращает массив, содержащий имена свойств, принадлежащих указанному объекту. |
monitor(function) | Записывает в консоль сообщение, указывающее имя функции, а также аргументы, переданные функции в рамках запроса. |
monitorEvents(object[, events]) | При возникновении одного из указанных событий в указанном объекте объект события регистрируется в консоли. |
profile([name]) | Запускает сеанс профилирования ЦП JavaScript с необязательным именем. |
profileEnd([name]) | Завершает сеанс профилирования ЦП JavaScript и отображает результаты в средстве производительности . |
queryObjects(конструктор) | Возвращает массив объектов, созданных указанным конструктором. |
table(data[, columns]) | Регистрирует данные объекта в формате таблицы с заголовками столбцов для указанного объекта данных. |
undebug(function) | Останавливает отладку указанной функции, чтобы при запросе функции отладчик больше не вызывается. |
unmonitor(function) | Останавливает мониторинг указанной функции. |
unmonitorEvents(object[, events]) | Останавливает мониторинг событий для указанного объекта и событий. |
values(object) | Возвращает массив, содержащий значения всех свойств, принадлежащих указанному объекту. |
Недавно оцененное выражение: $_
$_
возвращает значение последнего вычисляемого выражения.
Синтаксис:
$_
Пример 1
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите выражение
2+2
и нажмите клавишу ВВОД.Выражение вычисляется и отображается результат. Переменная
$_
также задается в качестве результата выражения.Введите
$_
, а затем нажмите клавишу ВВОД:
Пример 2
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Вставьте следующий код в консоль и нажмите клавишу ВВОД:
["john", "paul", "george", "ringo"]
Вычисляемое выражение представляет собой массив имен.
Введите следующий код в консоль и нажмите клавишу ВВОД:
$_.length
Выражение
$_.length
вычисляется и4
отображается в консоли, так как$_
ссылается на ранее вычислившееся выражение, которое является массивом имен.$_.length
— это длина массива имен.Введите следующий код в консоль и нажмите клавишу ВВОД:
$_
$_
всегда ссылается на ранее вычислившееся выражение, которое теперь является числом 4.
Недавно выбранный элемент или объект JavaScript: $0–$4
$0
, $1
, $2
, $3
и $4
возвращают недавно выбранные элементы или объекты JavaScript.
$0
возвращает последний выбранный элемент или объект JavaScript, $1
второй последний выбранный элемент и т. д. Переменные $0
, $1
, $2
, $3
и $4
работают в качестве исторической ссылки на последние пять элементов DOM, которые были проверены в инструменте Элементы , или на последние пять объектов кучи JavaScript, выбранных в средстве "Память ".
Синтаксис
$0
Пример
Чтобы открыть Средства разработки, щелкните веб-страницу правой кнопкой мыши и выберите пункт Проверить. Или нажмите клавиши CTRL+SHIFT+I (Windows, Linux) или COMMAND+OPTION+I (macOS). Откроется devTools.
В инструменте Элементы выберите элемент, например
<input>
элемент .Откройте консоль на панели Быстрого просмотра в нижней части devTools.
Введите
$0
в средстве Консоль и нажмите клавишу ВВОД.Переменная
$0
возвращает выбранный<input>
элемент:Выберите другой элемент в инструменте Элементы , например
<div>
элемент .В средстве Консоль введите
$0
и нажмите клавишу ВВОД.$0
ссылается на только что выбранный элемент, который является элементом<div>
.Введите
$1
, а затем нажмите клавишу ВВОД.$1
ссылается на ранее выбранный элемент, который является элементом<input>
:
Селектор запросов: $(селектор)
$(selector)
возвращает ссылку на первый элемент DOM, соответствующий указанному селектору selector
CSS .
Эта функция аналогична функции document.querySelector().
Если вы используете библиотеку, например jQuery, которая использует $
, функция перезаписывается и $
соответствует реализации из этой библиотеки.
Синтаксис
$(selector, [parentElement])
Пример 1
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
$('input')
. Отображается первый элемент, соответствующий селекторуinput
CSS:Щелкните правой кнопкой мыши возвращенный результат и выберите пункт Показать на панели элементов , чтобы найти его в модели DOM, или Прокрутите до просмотра , чтобы отобразить его на странице.
Пример 2
Функция $()
принимает второй параметр , который указывает родительский элемент, parentElement
в котором выполняется поиск. Значение параметра по умолчанию — document
, что означает, что по умолчанию выполняется поиск по всей веб-странице. Указав родительский элемент, можно искать элементы в определенной части веб-страницы.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве "Консоль" введите
$('input', $('ul'))
Первый элемент, соответствующий селектору
input
CSS, найденного в первомul
элементе, переизвонил:
Селектор запросов: $$(selector, [startNode])
$$()
возвращает список элементов, соответствующих указанному селектору CSS, например document.querySelectorAll()
.
Эта функция похожа на document.querySelectorAll(), но возвращает array
из элемента вместо NodeList
.
Синтаксис
$$(selector, [parentElement])
Пример 1
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
$$('button')
.<button>
Отображаются все элементы веб-страницы:
Пример 2
Эта $$()
функция также поддерживает второй параметр , parentElement
который указывает родительский элемент, в котором выполняется поиск. Значение параметра по умолчанию — document
, что означает, что по умолчанию выполняется поиск по всей веб-странице. Указав родительский элемент, можно искать элементы в определенной части веб-страницы.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
$$('button', $('li.task'))
.<button>
Отображаются все элементы, которые являются потомками первого<li class="task">
элемента:
XPath: $x(path, [startNode])
$x(path)
возвращает массив элементов DOM, соответствующих указанному выражению path
XPath .
Синтаксис
$x(path, [parentElement])
Пример 1
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
$x("//li")
.<li>
Отображаются все элементы веб-страницы:
Пример 2
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
$x("//li[button]")
. Отображаются<li>
все элементы, содержащие<button>
элементы:
Как и в других командах селектора, $x(path)
имеет необязательный второй параметр , parentElement
который указывает элемент или узел, в котором выполняется поиск элементов.
clear()
clear()
очищает консоль от журнала.
Синтаксис
clear()
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Чтобы создать журнал в средстве Консоли , введите несколько выражений JavaScript. Например:
for (let i = 0; i < 10; i++) { console.log(i); }
Чтобы очистить журнал, введите
clear()
в средстве Консоль и нажмите клавишу ВВОД:
copy(object)
copy(object)
копирует строковое представление указанного объекта в буфер обмена.
Синтаксис
copy(object)
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Введите следующий код в консольном инструменте и нажмите клавишу ВВОД:
copy($$('*').map(element => element.tagName));
Фрагмент кода выбирает все элементы веб-страницы с помощью
$$(selector)
функции, а затем сопоставляетtagName
свойство каждого элемента с массивом. Затем массив копируется в буфер обмена с помощьюcopy()
функции .Вставьте содержимое буфера обмена в текстовый редактор. Содержимое буфера обмена — это список всех html-тегов на веб-странице, например:
["HTML", "HEAD", "META", "TITLE", "LINK", "BODY", "H1", "FORM", "DIV", "LABEL", ...]
debug(function)
debug(function)
приостанавливает работу в указанной функции function
в средстве Источники при вызове этой функции.
После приостановки отладчика можно выполнить пошаговое выполнение кода и выполнить его отладку.
Синтаксис
debug(function)
Пример
Откройте новую вкладку или окно, а затем перейдите на страницу, содержащую функцию JavaScript, которую требуется отладить. Например, перейдите на демонстрационную страницу приложения TODO .
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
debug(updateList)
.На отображаемой веб-странице добавьте в список новый элемент TODO, введя тест в текстовое поле Добавление задачи и нажав клавишу ВВОД.
Отладчик приостанавливает работу
updateList()
функции в средстве "Источники ":
Используйте undebug(function)
, чтобы остановить работу функции, или используйте пользовательский интерфейс для отключения всех точек останова.
Дополнительные сведения о точках останова см. в статье Приостановка кода с помощью точек останова.
dir(object)
dir(object)
Отображает список всех свойств указанного объекта в стиле объекта, например console.dir()
.
Эта функция является псевдонимом для console.dir().
Синтаксис
dir(object)
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
document.head
и нажмите клавишу ВВОД.Отображается HTML-представление
<head>
элемента.Введите
dir(document.head)
и нажмите клавишу ВВОД.Отображается список всех свойств элемента в
<head>
стиле объекта:
Дополнительные сведения см. в разделе console.dir() в API консоли.
dirxml(object)
dirxml(object)
выводит XML-представление указанного объекта, которое отображается в инструменте Элементы , например console.dirxml()
.
Эта функция эквивалентна console.dirxml().
Синтаксис
dirxml(object)
inspect(object/function)
inspect(element/function)
открывается и выбирает указанный элемент DOM в средстве Элементы или указанную функцию JavaScript в средстве Источники .
- Для элемента DOM эта функция открывается и выбирает указанный элемент DOM в инструменте Элементы .
- Для функции JavaScript эта функция открывает указанную функцию JavaScript в средстве Источники .
Синтаксис
inspect(element/function)
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
inspect(document.body)
и нажмите клавишу ВВОД.Откроется инструмент Элементы и
<body>
выбран элемент:
При передаче функции для проверки функция открывает веб-страницу в средстве "Источники" для проверки.
getEventListeners(object)
getEventListeners(object)
возвращает прослушиватели событий, зарегистрированные в указанном объекте.
Возвращаемое значение — это объект, содержащий массив для каждого зарегистрированного типа события (например, click
или keydown
). Элементы в каждом массиве — это объекты, описывающие прослушиватель, зарегистрированный для каждого типа.
Синтаксис
getEventListeners(object)
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите
getEventListeners($('form'))
и нажмите клавишу ВВОД.Отображаются прослушиватели событий, зарегистрированные в первом
<form>
элементе:
Если в указанном объекте зарегистрировано несколько прослушивателя, массив содержит элемент для каждого прослушивателя. На следующем рисунке в элементе document
click
события зарегистрированы два прослушивателя событий:
keys(object)
keys(object)
возвращает массив, содержащий имена свойств, принадлежащих указанному объекту.
Чтобы получить связанные значения одинаковых свойств, см. раздел values(object) ниже.
Синтаксис
keys(object)
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите следующий код и нажмите клавишу ВВОД:
var player1 = {"name": "Ted", "level": 42}
Приведенный выше фрагмент кода определяет объект в глобальном пространстве имен с именем
player1
, который содержит два свойства.Чтобы получить имена свойств, принадлежащих объекту
player1
, введитеkeys(player1)
в средстве Консоль и нажмите клавишу ВВОД:Чтобы получить значения свойств, принадлежащих объекту
player1
, введитеvalues(player1)
в средстве Консоль и нажмите клавишу ВВОД:
monitor(function)
monitor(function)
записывает сообщение в консоль каждый раз, когда вызывается указанная функция. В сообщении указывается имя функции и аргументы, переданные функции.
Синтаксис
monitor(function)
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите следующий код и нажмите клавишу ВВОД:
function sum(x, y) { return x + y; }
Приведенный выше фрагмент кода определяет функцию с именем
sum
, которая принимает два аргумента.Чтобы начать мониторинг
sum
функции, введитеmonitor(sum)
в средстве Консоли и нажмите клавишу ВВОД:Чтобы вызвать функцию, введите
sum(1, 2)
и нажмите клавишу ВВОД. Появится сообщение, указывающее, чтоsum
функция была вызвана, и аргументы, переданные функции:
Чтобы завершить мониторинг, используйте .unmonitor(function)
monitorEvents(object[, events])
monitorEvents(object[, events])
записывает объект события в консоль каждый раз, когда указанные события происходят в указанном объекте.
Можно указать одно отслеживаемое событие, массив событий или один из универсальных типов событий, сопоставленных с предопределенной коллекцией событий.
Синтаксис
monitorEvents(object[, events])
Пример 1
Чтобы отслеживать одно событие, выполните приведенные далее действия.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите следующий код и нажмите клавишу ВВОД:
monitorEvents(window, "resize");
Предыдущий фрагмент кода отслеживает все события изменения размера объекта окна.
Измените размер окна, например, сделав Средства разработки больше или меньше. События изменения размера отображаются в средстве "Консоль ":
Пример 2
Чтобы отслеживать несколько событий, выполните приведенные далее действия.
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите следующий код и нажмите клавишу ВВОД:
monitorEvents(window, ["resize", "scroll"]);
Предыдущий фрагмент кода определяет массив имен событий для отслеживания событий
resize
иscroll
событий в объекте окна.Измените размер окна, например, сделав его короче, а затем прокрутите страницу, отображаемую для просмотра. События изменения размера и прокрутки отображаются в средстве консоли :
Пример 3
Вы также можете указать коллекцию событий, используя один из предопределенных наборов событий. В следующей таблице показаны доступные типы событий и связанные сопоставления событий.
Тип события | Соответствующие сопоставленные события |
---|---|
mouse |
"click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "mousewheel" |
key |
"keydown", "keypress", "keyup", "textInput" |
touch |
"touchcancel", "touchend", "touchmove", "touchstart" |
control |
"blur", "change", "focus", "reset", "resize", "scroll", "select", "submit", "zoom" |
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
В средстве Консоль введите следующий код и нажмите клавишу ВВОД:
monitorEvents(window, "key");
Предыдущий фрагмент кода отслеживает все события клавиатуры в объекте окна.
На отображаемой веб-странице нажмите любые клавиши. События клавиатуры отображаются в средстве консоли :
profile([name])
profile([name])
запускает сеанс профилирования ЦП JavaScript с необязательным именем.
Чтобы заполнить профиль и отобразить результаты в средстве Производительность , вызовите profileEnd([name])).
Синтаксис
profile([name])
Пример
Откройте страницу, которую вы хотите профилировать, на новой вкладке или окне. Например, перейдите на демонстрационную страницу Вялые анимации .
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Чтобы начать профилирование, в средстве Консоли введите
profile("My profile)
и нажмите клавишу ВВОД.Чтобы остановить профилирование, через некоторое время введите
profileEnd("My profile")
и нажмите клавишу ВВОД.Результаты профиля отображаются в средстве производительности :
Вы можете создать несколько профилей одновременно, и вам не нужно заканчивать каждый профиль в порядке создания. Например, следующий код создает два профиля, а затем заканчивает их в обратном порядке:
profile('A');
profile('B');
profileEnd('B');
profileEnd('A');
profileEnd([name])
profileEnd([name])
завершает сеанс профилирования ЦП JavaScript и отображает результаты в средстве производительности .
Чтобы вызвать эту функцию, необходимо запустить функцию profile([name]).
Синтаксис
profileEnd([name])
Дополнительные сведения см. в разделе profile([name]) выше.
queryObjects(конструктор)
queryObjects(constructor)
возвращает массив объектов, созданных указанным конструктором.
Область — это выбранный queryObjects()
контекст среды выполнения в консоли.
Синтаксис
queryObjects(constructor)
Пример
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Чтобы вернуть все экземпляры элементов HTML, введите
queryObjects(HTMLElement)
в средстве Консоль и нажмите клавишу ВВОД:
Другие примеры:
- Используйте
queryObjects(Promise)
для возврата всех экземпляров объектов,Promise
если веб-страница используетPromise
объекты. - Используйте
queryObjects(ClassName)
для возврата всех экземпляров класса ,ClassName
если на веб-странице используются классы JavaScript.
table(data[, columns])
table(data[, columns])
регистрирует данные объекта в формате таблицы с заголовками столбцов для указанного объекта данных.
Эта функция является псевдонимом для console.table().
Синтаксис
table(data[, columns])
Пример
Чтобы отобразить список имен людей в виде таблицы, в консоли:
Нажмите клавиши CTRL+SHIFT+J (Windows, Linux) или COMMAND+OPTION+J (macOS). Средство "Консоль" откроется в средствах разработки рядом с веб-страницей.
Введите следующий код в консоли и нажмите клавишу ВВОД:
var names = { 0: { firstName: "John", lastName: "Smith" }, 1: { firstName: "Jane", lastName: "Doe" } };
Приведенный выше фрагмент кода определяет объект в глобальном пространстве имен с именем
names
, который содержит два свойства.Чтобы отобразить объект в
names
виде таблицы, введитеtable(names)
в консоли и нажмите клавишу ВВОД:
undebug(function)
undebug(function)
останавливает отладку указанной функции, чтобы при запуске функции отладчик больше не приостанавливал работу функции.
Дополнительные сведения см. в разделе debug(function) выше.
Синтаксис
undebug(function)
unmonitor(function)
unmonitor(function)
останавливает мониторинг указанной функции.
Дополнительные сведения см. в разделе monitor(function) выше.
Синтаксис
unmonitor(function)
unmonitorEvents(object[, events])
unmonitorEvents(object[, events])
останавливает мониторинг событий для указанного объекта и событий.
Дополнительные сведения см. в разделе monitorEvents(object[, events]) выше.
Синтаксис
unmonitorEvents(object[, events])
values(object)
values(object)
возвращает массив, содержащий значения всех свойств, принадлежащих указанному объекту.
Чтобы получить связанные ключи с теми же свойствами, см. раздел keys(object) выше.
Синтаксис
values(object)
Пример
См. пример в разделе ключи(объект) выше.
См. также
- Справочник по функциям консоли
-
Справочник по -
console.*
API объектов консоли функции, такие какconsole.log()
иconsole.error()
.
Примечание.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой Google и используемой в соответствии с условиями, описанными в международной лицензии Creative Commons Attribution 4.0. Исходная страница находится здесь и автор Кейс Баски.
Эта работа лицензируется по международной лицензии Creative Commons Attribution 4.0.