Dokumentacja interfejsu Console Utilities API

Kayce Basques
Kayce Basques
Sofia Emelianowa
Sofia Emelianova

Interfejs Console Utilities API zawiera zbiór funkcji ułatwiających wykonywanie typowych zadań, takich jak wybieranie i sprawdzanie elementów DOM, wysyłanie zapytań dotyczących obiektów, wyświetlanie danych w czytelnym formacie, zatrzymywanie i uruchamianie programu profilującego, monitorowanie zdarzeń DOM oraz wywołań funkcji i nie tylko.

Szukasz funkcji console.log(), console.error() i innych funkcji console.*? Zobacz dokumentację interfejsu Console API.

$_

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

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

$_ to ostatnio ocenione wyrażenie.

W następnym przykładzie oceniane wyrażenie zawiera początkowo tablicę nazw. Gdy oceniasz $_.length w celu znalezienia długości tablicy, wartość zapisana w elemencie $_ zmienia się w ostatnio ocenione wyrażenie, czyli 4:

$_ zmienia się podczas sprawdzania nowych poleceń.

0–4 USD

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

W poniższym przykładzie w panelu Elementy wybierany jest element img. W panelu Konsola wartość $0 została oceniona i wyświetla ten sam element:

Przykład wartości $0.

Ilustracja poniżej przedstawia inny element wybrany na tej samej stronie. Element $0 odwołuje się teraz do nowo wybranego elementu, a pole $1 zwraca element wybrany wcześniej:

Przykład: $1.

$(selektor [, startNode])

$(selector) zwraca odwołanie do pierwszego elementu DOM z określonym selektorem arkusza CSS. Wywoływana z jednym argumentem jest skrótem do funkcji document.querySelector().

Ten 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 modelu DOM, lub Przewiń, by wyświetlić widok, aby wyświetlić go na stronie.

Ten przykład zwraca odwołanie do obecnie 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ł, z którego mają być wyszukiwane elementy. Wartość domyślna tego parametru to document.

Ten przykład zwraca odwołanie do pierwszego elementu img, który jest elementem potomnym devsite-header-background, i wyświetla jego właściwość src:

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

$$(selector [, startNode])

$$(selektor) zwraca tablicę elementów pasujących do danego selektora arkusza CSS. To polecenie odpowiada wywołaniu funkcji Array.from(document.querySelectorAll()).

W tym przykładzie użyto właściwości $$() 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<span class=l10n-placeholder3(), aby utworzyć tablicę ze wszystkimi elementami <img>, które pojawią się 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 zaznaczania wszystkich obrazów wyświetlanych po wybranym elemencie div w dokumencie i wyświetlania ich źródeł

$x(ścieżka [, startNode])

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

Poniższy przykład zwróci wszystkie elementy <p> na stronie:

$x("//p")

Przykład użycia selektora XPath

Poniższy przykład zwraca wszystkie elementy <p> zawierające elementy <a>:

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

Przykład użycia bardziej złożonego selektora XPath

Podobnie jak inne funkcje selektora, $x(path) zawiera opcjonalny drugi parametr startNode, który określa element lub węzeł, w którym mają być wyszukiwane elementy.

Przykład użycia selektora XPath ze startNode

wyczyść()

clear() czyści konsolę ze swojej historii.

clear();

kopiuj(obiekt)

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

copy($0);

debugowanie(funkcja)

Po wywołaniu określonej funkcji debuger zostaje wywołany i wadliwy w obrębie funkcji w panelu Źródła, co pozwoli Ci przejść przez kod i go debugować.

debug(getData);

Złamanie funkcji za pomocą funkcji debug().

Użyj polecenia undebug(fn), aby zatrzymać przerywanie funkcji, lub wyłącz wszystkie punkty przerwania w interfejsie użytkownika.

Więcej informacji o punktach przerwania znajdziesz w artykule Wstrzymywanie kodu z punktami przerwania.

dir(object)

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

Poniższy przykład pokazuje różnicę między obliczaniem wartości document.body bezpośrednio w wierszu poleceń a wyświetlaniem tego samego elementu przy użyciu metody dir():

document.body;
dir(document.body);

Logowanie document.body z funkcją dir() i bez niej.

Więcej informacji znajdziesz w sekcji console.dir() w interfejsie Console API.

dirxml(obiekt)

dirxml(object) wyświetla obiekt w formacie XML, który jest widoczny w panelu Elementy. Jest to odpowiednik metody console.dirxml().

inspect(object/function)

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

Ten przykład powoduje otwarcie elementu document.body w panelu Elementy:

inspect(document.body);

Sprawdzanie elementu za pomocą inspekcji().

Przekazując funkcję do sprawdzenia, otwiera się ona w panelu Źródła, aby umożliwić Ci sprawdzenie dokumentu.

getEventListeners(object)

getEventListeners(object) zwraca detektory zdarzeń zarejestrowane w określonym obiekcie. Zwracana wartość to obiekt zawierający tablicę dla każdego zarejestrowanego typu zdarzenia (np. click lub keydown). Elementy każdej tablicy to obiekty opisujące detektor zarejestrowany dla poszczególnych typów. Na przykład poniżej znajdziesz listę wszystkich detektorów zdarzeń zarejestrowanych w obiekcie dokumentu:

getEventListeners(document);

Wyniki użycia metody getEventListeners().

Jeśli w określonym obiekcie zarejestrowano więcej niż 1 detektor, tablica zawiera element odpowiadający każdemu detektorowi. W przykładzie poniżej są 2 detektory zdarzeń zarejestrowane w elemencie dokumentu dla zdarzenia click:

Wielu słuchaczy.

Każdy z tych obiektów możesz rozszerzyć, aby poznać jego właściwości:

Rozszerzony widok obiektu detektora.

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

klucze(obiekt)

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 usług, użyj funkcji values().

Załóżmy na przykład, że aplikacja zdefiniowała następujący obiekt:

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

Zakładając, że player jest zdefiniowany w globalnej przestrzeni nazw (dla uproszczenia), to wpisanie keys(player) i values(player) w konsoli daje taki wynik:

Przykład metod key() i values()

monitor(function)

Wywołanie określonej funkcji powoduje zarejestrowanie w konsoli komunikatu wskazującego jej nazwę wraz z argumentami przekazanymi do tej funkcji w momencie jej wywołania.

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

Przykład metody monitor()

Aby zatrzymać monitorowanie, użyj unmonitor(function).

monitorEvents(object [, events])

Gdy w określonym obiekcie wystąpi jedno z określonych zdarzeń, obiekt Event jest logowany w konsoli. Możesz określić pojedyncze zdarzenie do monitorowania, tablicę zdarzeń lub jedno z „typów” zdarzeń ogólnych zmapowanych na wstępnie zdefiniowany zbiór zdarzeń. Zobacz przykłady poniżej.

Poniższy przykład umożliwia monitorowanie wszystkich zdarzeń zmiany rozmiaru w obiekcie window.

monitorEvents(window, "resize");

Monitorowanie zdarzeń zmiany rozmiaru okna.

Poniżej zdefiniowano tablicę do monitorowania zdarzeń „resize” (zmiana rozmiaru) i „scroll” (przewijanie) w obiekcie window:

monitorEvents(window, ["resize", "scroll"])

Możesz też określić jeden z dostępnych „typów” zdarzeń, czyli ciągi znaków zmapowane na wstępnie zdefiniowane zestawy zdarzeń. Tabela poniżej zawiera dostępne typy zdarzeń i powiązane z nimi mapowania zdarzeń:

Typ zdarzenia i odpowiadające mu zmapowane zdarzenia
mysz„mousedown”, „mouseup”, „click”, „dblclick”, „mousemove”, „mouseover”, „mouseout”, „kółko myszy”
klucz„keydown”, „keyup”, „keydown”, „textInput”
dotknij„touchstart”, „touchmove”, „touchend”, „touchcancel”
kontrola„zmień rozmiar”, „przewiń”, „powiększ”, „fokus”, „rozmycie”, „wybierz”, „zmień”, „prześlij”, „zresetuj”

Przykład poniżej używa typu zdarzenia „kluczowe” w przypadku wszystkich odpowiednich zdarzeń kluczowych w polu tekstowym danych wejściowych wybranym obecnie 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, użyj unmonitorEvents(object[, events]).

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

profile() rozpoczyna sesję profilowania procesora JavaScript z opcjonalną nazwą. profileEnd() uzupełni profil i wyświetli wyniki na ścieżce Skuteczność > Główna.

Aby rozpocząć profilowanie:

profile("Profile 1")

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

profileEnd("Profile 1")

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

Ścieżka główna."width="800"height="606">

Profile mogą być również zagnieżdżone. Przykładowy kod będzie działać w dowolnej kolejności:

profile('A');
profile('B');
profileEnd('A');
profileEnd('B');

queryObjects(Constructor)

Wywołaj w konsoli queryObjects(Constructor), aby zwrócić tablicę obiektów utworzonych przy użyciu podanego konstruktora. Na przykład:

  • queryObjects(Promise). Zwraca wszystkie wystąpienia elementu Promise.
  • queryObjects(HTMLElement). Zwraca wszystkie elementy HTML.
  • queryObjects(foo), gdzie foo to nazwa zajęć. Zwraca wszystkie obiekty utworzone za pomocą instancji new foo().

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

tabela(dane [, kolumny])

Loguj dane obiektów z formatowaniem tabeli, przekazując do niej obiekt danych z opcjonalnymi nagłówkami kolumn. To jest skrót do console.table().

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

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

Przykład metody table()

undebug(funkcja)

undebug(function) zatrzymuje debugowanie określonej funkcji, tak aby po jej wywołaniu debuger nie był już wywoływany. Jest używany w połączeniu z usługą debug(fn).

undebug(getData);

niemonitorowany(funkcja)

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

unmonitor(getData);

unmonitorEvents(object [, events])

unmonitorEvents(object[, events]) przestaje monitorować zdarzenia dotyczące określonego obiektu i zdarzeń. Na przykład spowoduje to zatrzymanie monitorowania zdarzeń w obiekcie window:

unmonitorEvents(window);

Możesz też selektywnie zatrzymać monitorowanie określonych zdarzeń w obiekcie. Na przykład ten kod rozpoczyna monitorowanie wszystkich zdarzeń myszy w wybranym elemencie, a następnie przestaje monitorować zdarzenia „mousemove” (być może po to, aby zmniejszyć szum w danych wyjściowych konsoli):

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

wartości(obiekt)

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(odtwarzacz).