Dokumentacja interfejsu Console Utilities API

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

Interfejs Console Utilities API zawiera zbiór funkcji ułatwiających wykonywanie typowych zadań: wybieranie i sprawdzanie elementów DOM, wysyłanie zapytań do obiektów, wyświetlanie danych w czytelnym formacie, zatrzymywanie i uruchamianie profilera, monitorowanie zdarzeń DOM i wywołań funkcji oraz wiele innych.

Szukasz funkcji console.log(), console.error() i pozostałych funkcji console.*? Zobacz dokumentację interfejsu API konsoli.

$_

$_ zwraca wartość ostatnio obliczonego wyrażenia.

W poniższym przykładzie obliczane jest proste wyrażenie (2 + 2). Następnie sprawdzana jest właściwość $_, która zawiera tę samą wartość:

$_ to ostatnie obliczone wyrażenie.

W następnym przykładzie oceniane wyrażenie początkowo zawiera tablicę nazw. Obliczanie $_.length w celu znalezienia długości tablicy. Wartość przechowywana w $_ zmienia się na ostatnie obliczone wyrażenie, czyli 4:

$_ zmienia się, gdy oceniane są nowe polecenia.

0–4 USD

Polecenia $0, $1, $2, $3$4 działają jako odniesienie historyczne do 5 ostatnich elementów DOM zbadanych w panelu Elementy lub 5 ostatnich obiektów sterty JavaScript wybranych w panelu Profile. $0 zwraca ostatnio wybrany element lub obiekt JavaScript, $1 zwraca drugi ostatnio wybrany element itd.

W tym przykładzie w panelu Elementy wybrano element img. W panelu Konsola$0 został oceniony i wyświetla ten sam element:

Przykład: 0 PLN.

Na obrazie poniżej widać inny element wybrany na tej samej stronie. Symbol $0 odnosi się teraz do nowo wybranego elementu, a symbol $1 zwraca poprzednio wybrany element:

Przykład 1 PLN.

$(selector [, startNode])

$(selector) zwraca odwołanie do pierwszego elementu DOM z określonym selektorem CSS. Gdy ta funkcja jest wywoływana z 1 argumentem, jest skrótem do funkcji document.querySelector().

Poniższy przykład zwraca odwołanie do pierwszego elementu <img> w dokumencie:

Przykład $(&#39;img&#39;).

Kliknij prawym przyciskiem myszy zwrócony wynik i wybierz Pokaż w panelu Elementy, aby znaleźć go w DOM, lub Przewiń do widoku, aby wyświetlić go na stronie.

Poniższy przykład zwraca odwołanie do aktualnie wybranego elementu i wyświetla jego właściwość src:

Przykład $(&#39;img&#39;).src.

Ta funkcja obsługuje też drugi parametr, startNode, który określa „element” lub węzeł, w którym należy szukać elementów. Wartością domyślną tego parametru jest document.

Poniższy przykład zwraca odwołanie do pierwszego elementu img, który jest elementem podrzędnym elementu devsite-header-background, i wyświetla jego właściwość src:

Przykład $(&#39;img&#39;, div).src.

$$(selector [, startNode])

$$(selector) zwraca tablicę elementów pasujących do danego selektora CSS. To polecenie jest równoważne wywołaniu Array.from(document.querySelectorAll()).

W tym przykładzie użyto funkcji $$() to create an array of all <img> elements in the current document and displays the value of each element's src property:

let images = $$('img');
for (let each of images) {
  console.log(each.src);
}

Przykład użycia funkcji<!-- notranslate l10n-placeholder: l10n-placeholder3 -->()</code> do utworzenia tablicy wszystkich elementów <code translate=Elementy<img> występujące w bieżącym dokumencie po wybranym węźle:

let images = $$('img', document.querySelector('.devsite-header-background'));
for (let each of images) {
  console.log(each.src);
}

Przykład użycia $() do wybrania wszystkich obrazów pojawiających się po elemencie div w dokumencie i wyświetlenia ich źródeł.

$x(ścieżka [, węzeł początkowy])

$x(path) zwraca tablicę elementów DOM, które pasują do danego wyrażenia XPath.

Na przykład poniższy kod zwraca wszystkie elementy <p> na stronie:

$x("//p")

Przykład użycia selektora XPath

Ten przykład zwraca wszystkie elementy <p>, które zawierają elementy <a>:

$x("//p[a]")

Przykład użycia bardziej skomplikowanego selektora XPath.

Podobnie jak inne funkcje selektora, funkcja $x(path) ma opcjonalny drugi parametr startNode, który określa element lub węzeł, w którym należy wyszukiwać elementy.

Przykład użycia selektora XPath z właściwością startNode.

clear()

clear() czyści historię konsoli.

clear();

copy(object)

copy(object) kopiuje do schowka ciąg znaków reprezentujący określony obiekt.

copy($0);

debug(function)

Gdy wywoływana jest określona funkcja, debuger jest wywoływany i przerywa działanie w funkcji w panelu Źródła, co umożliwia przechodzenie przez kod i jego debugowanie.

debug(getData);

Przerwanie działania funkcji za pomocą funkcji debug().

Użyj undebug(fn), aby zatrzymać przerywanie funkcji, lub użyj interfejsu, aby wyłączyć wszystkie punkty przerwania.

Więcej informacji o punktach przerwania znajdziesz w artykule Wstrzymywanie kodu za pomocą punktów przerwania.

dir(object)

dir(object) wyświetla listę wszystkich właściwości określonego obiektu w formacie obiektu. Ta metoda jest skrótem do metody console.dir() interfejsu Console API.

Poniższy przykład pokazuje różnicę między oceną document.body bezpośrednio w wierszu poleceń a użyciem dir() do wyświetlenia tego samego elementu:

document.body;
dir(document.body);

Rejestrowanie obiektu document.body z użyciem funkcji dir() i bez niej.

Więcej informacji znajdziesz w artykule console.dir() w interfejsie API konsoli.

dirxml(object)

dirxml(object) wyświetla reprezentację XML określonego obiektu, tak jak w panelu Elementy. Ta metoda jest odpowiednikiem metody console.dirxml().

inspect(object/function)

inspect(object/function) otwiera i zaznacza określony element lub obiekt w odpowiednim panelu: Elementy w przypadku elementów DOM lub Profile w przypadku obiektów sterty JavaScript.

W tym przykładzie otwieramy element document.body w panelu Elementy:

inspect(document.body);

Sprawdzanie elementu za pomocą funkcji inspect().

Gdy przekażesz funkcję do sprawdzenia, otworzy ona dokument w panelu Źródła, aby umożliwić Ci jego sprawdzenie.

getEventListeners(object)

getEventListeners(object) zwraca detektory zdarzeń zarejestrowane w określonym obiekcie. Wartość zwracana to obiekt zawierający tablicę dla każdego zarejestrowanego typu zdarzenia (np. click lub keydown). Elementami każdej tablicy są obiekty opisujące zarejestrowany odbiornik dla każdego typu. Na przykład poniższy kod wyświetla listę wszystkich odbiorców zdarzeń zarejestrowanych w obiekcie dokumentu:

getEventListeners(document);

Dane wyjściowe funkcji getEventListeners().

Jeśli w określonym obiekcie zarejestrowano więcej niż 1 odbiorcę, tablica zawiera element dla każdego z nich. W tym przykładzie w elemencie dokumentu zarejestrowane są 2 detektory zdarzeń dla zdarzenia click:

Wielu słuchaczy.

Możesz rozwinąć każdy z tych obiektów, aby poznać jego właściwości:

Rozwinięty widok obiektu słuchacza.

Więcej informacji znajdziesz w artykule Sprawdzanie właściwości obiektu.

keys(object)

keys(object) zwraca tablicę zawierającą nazwy właściwości należących do określonego obiektu. Aby uzyskać powiązane wartości tych samych właściwości, użyj values().

Załóżmy na przykład, że aplikacja zdefiniowała ten obiekt:

let player = {
    "name": "Parzival",
    "number": 1,
    "state": "ready",
    "easterEggs": 3
};

Zakładając, że zmienna player została zdefiniowana w globalnej przestrzeni nazw (dla uproszczenia), wpisanie w konsoli znaków keys(player)values(player) spowoduje wyświetlenie tych wyników:

Przykład metod keys() i values().

monitor(function)

Gdy wywoływana jest określona funkcja, w konsoli rejestrowany jest komunikat, który zawiera nazwę funkcji oraz argumenty przekazywane do niej podczas wywołania.

function sum(x, y) {
  return x + y;
}
monitor(sum);

Przykład metody monitor().

Aby zatrzymać monitorowanie, kliknij unmonitor(function).

monitorEvents(object [, events])

Gdy na określonym obiekcie wystąpi jedno z określonych zdarzeń, obiekt zdarzenia zostanie zalogowany w konsoli. Możesz określić jedno zdarzenie do monitorowania, tablicę zdarzeń lub jedno z ogólnych zdarzeń „typu” mapowanych na predefiniowany zbiór zdarzeń. Zobacz przykłady poniżej.

Poniższy monitor śledzi wszystkie zdarzenia zmiany rozmiaru obiektu okna.

monitorEvents(window, "resize");

Zdarzenia zmiany rozmiaru okna monitorowania.

Poniższy kod definiuje tablicę, która monitoruje zdarzenia „resize” i „scroll” w obiekcie window:

monitorEvents(window, ["resize", &quot;scroll"])

Możesz też określić jeden z dostępnych „typów” zdarzeń, czyli ciągów znaków, które są mapowane na predefiniowane zbiory zdarzeń. W tabeli poniżej znajdziesz dostępne typy zdarzeń i powiązane z nimi mapowania zdarzeń:

Typ zdarzenia i odpowiadające mu zamapowane zdarzenia
mysz„mousedown”, „mouseup”, „click”, „dblclick”, „mousemove”, „mouseover”, „mouseout”, „mousewheel”
klucz„keydown”, „keyup”, „keypress”, „textInput”
dotknij„touchstart”, „touchmove”, „touchend”, „touchcancel”
kontrola„resize”, „scroll”, „zoom”, „focus”, „blur”, „select”, „change”, „submit”, „reset”

Na przykład poniższy kod używa typu zdarzenia „key” dla wszystkich odpowiednich kluczowych zdarzeń w polu tekstowym, które jest obecnie wybrane w panelu Elementy.

monitorEvents($0, "key");

Poniżej znajdziesz przykładowe dane wyjściowe po wpisaniu znaków w polu tekstowym:

Monitorowanie kluczowych zdarzeń.

Aby zatrzymać monitorowanie, kliknij unmonitorEvents(object[, events]).

profile([name]) i profileEnd([name])

profile() rozpoczyna sesję profilowania CPU JavaScriptu z opcjonalną nazwą. profileEnd() uzupełnia profil i wyświetla wyniki na ścieżce Skuteczność > Główna.

Aby rozpocząć profilowanie:

profile("Profile 1")

Aby zatrzymać profilowanie i wyświetlić wyniki na ścieżce Wydajność > Główna:

profileEnd("Profile 1")

Wynik na ścieżce Skuteczność > Główna:

Profil 1 na głównej ścieżce wydajności.

Profile można też zagnieżdżać. Na przykład to zadziała w dowolnej kolejności:

profile('A');
profile('B');
profileEnd('A&#39;);
profileEnd('B');

queryObjects(Constructor)

Wywołaj funkcję queryObjects(Constructor) w konsoli, aby zwrócić tablicę obiektów utworzonych za pomocą określonego konstruktora. Na przykład:

  • queryObjects(Promise). Zwraca wszystkie wystąpienia parametru Promise.
  • queryObjects(HTMLElement). Zwraca wszystkie elementy HTML.
  • queryObjects(foo), gdzie foo to nazwa klasy. Zwraca wszystkie obiekty utworzone za pomocą funkcji new foo().

Zakres queryObjects() to aktualnie wybrany kontekst wykonania w konsoli.

tabela(dane [, kolumny])

Rejestruj dane obiektu w formacie tabeli, przekazując obiekt danych z opcjonalnymi nagłówkami kolumn. Jest to skrót do console.table().

Aby na przykład wyświetlić listę nazw w tabeli w konsoli, wykonaj te czynności:

let names = [
  { firstName: "John", lastName: "Smith" },
  { firstName: "Jane", lastName: "Doe" },
];
table(names);

Przykład metody table().

undebug(function)

undebug(function) zatrzymuje debugowanie określonej funkcji, dzięki czemu po jej wywołaniu debugger nie jest już uruchamiany. Jest ona używana w połączeniu z właściwością debug(fn).

undebug(getData);

unmonitor(function)

unmonitor(function) zatrzymuje monitorowanie określonej funkcji. Jest używana w połączeniu z właściwością monitor(fn).

unmonitor(getData);

unmonitorEvents(object [, events])

unmonitorEvents(object[, events]) przestaje monitorować zdarzenia dotyczące określonego obiektu i zdarzeń. Na przykład poniższy kod zatrzymuje monitorowanie wszystkich zdarzeń w obiekcie okna:

unmonitorEvents(window);

Możesz też selektywnie zatrzymać monitorowanie określonych zdarzeń na obiekcie. Na przykład poniższy kod rozpoczyna monitorowanie wszystkich zdarzeń myszy na obecnie wybranym elemencie, a następnie zatrzymuje monitorowanie zdarzeń „mousemove” (być może w celu zmniejszenia szumu w danych wyjściowych konsoli):

monitorEvents($0, "mouse");
unmonitorEvents($0, &quot;mousemove");

values(object)

values(object) zwraca tablicę zawierającą wartości wszystkich właściwości należących do określonego obiektu.

let player = {
    "name": "Parzival",
    "number": 1,
    "state": "ready",
    "easterEggs": 3
};

values(player);

Wynik wartości(gracz).