Referenz zur Console Utilities API

Sofia Emelianova
Sofia Emelianova

Die Console Utilities API enthält eine Reihe von praktischen Funktionen für die Ausführung gängiger Aufgaben: DOM-Elemente auswählen und prüfen, Objekte abfragen, Daten in einem lesbaren Format anzeigen, Profiler beenden und starten, DOM-Ereignisse und Funktionsaufrufe überwachen usw.

Suchen Sie nach console.log(), console.error() und den restlichen console.*-Funktionen? Weitere Informationen finden Sie in der Console API-Referenz.

$_

$_ gibt den Wert des zuletzt ausgewerteten Ausdrucks zurück.

Im folgenden Beispiel wird ein einfacher Ausdruck (2 + 2) ausgewertet. Anschließend wird die Property $_ ausgewertet, die denselben Wert enthält:

$_ ist der zuletzt ausgewertete Ausdruck.

Im nächsten Beispiel enthält der ausgewertete Ausdruck anfangs ein Array mit Namen. Wenn $_.length ausgewertet wird, um die Länge des Arrays zu ermitteln, ändert sich der in $_ gespeicherte Wert in den zuletzt ausgewerteten Ausdruck, 4:

$_ ändert sich, wenn neue Befehle ausgewertet werden.

0 $ bis 4 $

Die Befehle $0, $1, $2, $3 und $4 dienen als Verlaufsreferenz für die letzten fünf DOM-Elemente, die im Bereich Elemente geprüft wurden, oder für die letzten fünf JavaScript-Heap-Objekte, die im Bereich „Profile“ ausgewählt wurden. $0 gibt das zuletzt ausgewählte Element oder JavaScript-Objekt zurück, $1 das zweitletzte usw.

Im folgenden Beispiel ist im Bereich Elemente ein img-Element ausgewählt. In der Seitenleiste Konsole wurde $0 ausgewertet und es wird dasselbe Element angezeigt:

Beispiel: 0 €

Das Bild unten zeigt ein anderes Element, das auf derselben Seite ausgewählt ist. $0 bezieht sich jetzt auf das neu ausgewählte Element, während $1 das zuvor ausgewählte Element zurückgibt:

Beispiel: 1 €

$(selector [, startNode])

$(selector) gibt die Referenz auf das erste DOM-Element mit dem angegebenen CSS-Selektor zurück. Wenn diese Funktion mit einem Argument aufgerufen wird, ist sie eine Verknüpfung für die Funktion document.querySelector().

Im folgenden Beispiel wird ein Verweis auf das erste <img>-Element im Dokument zurückgegeben:

Beispiel für $(&#39;img&#39;)

Klicken Sie mit der rechten Maustaste auf das zurückgegebene Ergebnis und wählen Sie Im Elementbereich anzeigen aus, um es im DOM zu finden, oder Heranzoomen, um es anzusehen, um es auf der Seite anzuzeigen.

Im folgenden Beispiel wird ein Verweis auf das aktuell ausgewählte Element zurückgegeben und das Attribut src angezeigt:

Beispiel für $(&#39;img&#39;).src

Diese Funktion unterstützt auch einen zweiten Parameter, startNode, mit dem ein Element oder Knoten angegeben wird, ab dem nach Elementen gesucht werden soll. Der Standardwert für diesen Parameter ist document.

Im folgenden Beispiel wird ein Verweis auf das erste img-Element zurückgegeben, das ein Abkömmling von devsite-header-background ist, und seine src-Eigenschaft angezeigt:

Beispiel für $(&#39;img&#39;, div).src.

$$(selector [, startNode])

$$(selector) gibt ein Array von Elementen zurück, die mit dem angegebenen CSS-Selektor übereinstimmen. Dieser Befehl entspricht dem Aufruf von Array.from(document.querySelectorAll()).

Im folgenden Beispiel wird $$() 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);
}
 verwendet.

Beispiel für die Verwendung von<!-- notranslate l10n-placeholder: l10n-placeholder3 -->()</code> zum Erstellen eines Arrays mit allen <code translate=<img>-Elemente, die im aktuellen Dokument nach dem ausgewählten Knoten erscheinen:

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

Beispiel für die Verwendung von $(), um alle Bilder auszuwählen, die nach dem ausgewählten div-Element im Dokument erscheinen, und ihre Quellen anzuzeigen.

$x(path [, startNode])

$x(path) gibt ein Array von DOM-Elementen zurück, die mit dem angegebenen XPath-Ausdruck übereinstimmen.

Mit dem folgenden Code werden beispielsweise alle <p>-Elemente auf der Seite zurückgegeben:

$x("//p")

Beispiel für die Verwendung eines XPath-Selektors

Im folgenden Beispiel werden alle <p>-Elemente zurückgegeben, die <a>-Elemente enthalten:

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

Beispiel für die Verwendung einer komplexeren XPath-Auswahl

Ähnlich wie die anderen Auswahlfunktionen hat $x(path) einen optionalen zweiten Parameter, startNode, mit dem ein Element oder Knoten angegeben wird, nach dem nach Elementen gesucht werden soll.

Beispiel für die Verwendung einer XPath-Auswahl mit startNode

clear()

clear() löscht den Konsolenverlauf.

clear();

copy(object)

copy(object) kopiert eine Stringdarstellung des angegebenen Objekts in die Zwischenablage.

copy($0);

debug(function)

Wenn die angegebene Funktion aufgerufen wird, wird der Debugger aufgerufen und es wird im Bereich Quellen eine Unterbrechung innerhalb der Funktion ausgelöst, damit der Code Schritt für Schritt durchlaufen und behoben werden kann.

debug(getData);

Mit debug() in einer Funktion pausieren

Verwenden Sie undebug(fn), um die Ausführung nicht mehr an der Funktion anzuhalten, oder deaktivieren Sie alle Haltestellen über die Benutzeroberfläche.

Weitere Informationen zu Haltepunkten finden Sie unter Code mithilfe von Haltepunkten pausieren.

dir(object)

dir(object) zeigt eine Auflistung aller Properties des angegebenen Objekts im Objektstil an. Diese Methode ist eine Verknüpfung für die console.dir()-Methode der Console API.

Im folgenden Beispiel wird der Unterschied zwischen der direkten Auswertung von document.body in der Befehlszeile und der Verwendung von dir() zum Anzeigen desselben Elements veranschaulicht:

document.body;
dir(document.body);

Logging document.body mit und ohne dir()-Funktion

Weitere Informationen finden Sie im Console API-Eintrag zu console.dir().

dirxml(object)

dirxml(object) druckt eine XML-Darstellung des angegebenen Objekts aus, wie im Bereich Elemente zu sehen. Diese Methode entspricht der console.dirxml()-Methode.

inspect(object/function)

Mit inspect(object/function) wird das angegebene Element oder Objekt im entsprechenden Bereich geöffnet und ausgewählt: entweder im Bereich Elemente für DOM-Elemente oder im Bereich „Profile“ für JavaScript-Heap-Objekte.

Im folgenden Beispiel wird das document.body im Bereich Elemente geöffnet:

inspect(document.body);

Element mit inspect() prüfen

Wenn Sie eine Funktion zum Prüfen übergeben, wird das Dokument im Bereich Quellen geöffnet.

getEventListeners(object)

getEventListeners(object) gibt die Ereignis-Listener zurück, die für das angegebene Objekt registriert sind. Der Rückgabewert ist ein Objekt, das ein Array für jeden registrierten Ereignistyp enthält (z. B. click oder keydown). Die Mitglieder jedes Arrays sind Objekte, die den für jeden Typ registrierten Listener beschreiben. Im Folgenden sind beispielsweise alle Ereignis-Listener aufgeführt, die für das Dokumentobjekt registriert sind:

getEventListeners(document);

Ausgabe der Verwendung von getEventListeners().

Wenn für das angegebene Objekt mehrere Listener registriert sind, enthält das Array ein Mitglied für jeden Listener. Im folgenden Beispiel sind für das click-Ereignis zwei Ereignis-Listener für das Dokumentelement registriert:

Mehrere Listener

Sie können jedes dieser Objekte maximieren, um die zugehörigen Properties zu sehen:

Erweiterte Ansicht des Listener-Objekts.

Weitere Informationen finden Sie unter Objekteigenschaften prüfen.

keys(object)

keys(object) gibt ein Array mit den Namen der Properties zurück, die zum angegebenen Objekt gehören. Mit values() kannst du die zugehörigen Werte derselben Properties abrufen.

Angenommen, in Ihrer Anwendung ist das folgende Objekt definiert:

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

Angenommen, player wurde im globalen Namespace definiert (zur Vereinfachung), führt das Eintippen von keys(player) und values(player) in der Konsole zu folgendem Ergebnis:

Beispiel für die Methoden „keys()“ und „values()“.

monitor(function)

Wenn die angegebene Funktion aufgerufen wird, wird in der Konsole eine Nachricht protokolliert, die den Funktionsnamen und die Argumente enthält, die beim Aufruf an die Funktion übergeben wurden.

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

Beispiel für die Methode „monitor()“.

Verwenden Sie unmonitor(function), um das Monitoring zu beenden.

monitorEvents(object [, events])

Wenn eines der angegebenen Ereignisse für das angegebene Objekt auftritt, wird das Ereignisobjekt in der Konsole protokolliert. Sie können ein einzelnes Ereignis, eine Reihe von Ereignissen oder einen der generischen Ereignistypen angeben, der einer vordefinierten Sammlung von Ereignissen zugeordnet ist. Siehe nachstehende Beispiele

Im Folgenden werden alle Ereignisse zum Ändern der Größe des Fensterobjekts überwacht.

monitorEvents(window, "resize");

Ereignisse zum Ändern der Größe des Monitoringfensters

Im Folgenden wird ein Array definiert, mit dem sowohl „resize“- als auch „scroll“-Ereignisse für das Fensterobjekt überwacht werden:

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

Sie können auch einen der verfügbaren Ereignistypen angeben, also Strings, die vordefinierten Ereignisgruppen zugeordnet sind. In der folgenden Tabelle sind die verfügbaren Ereignistypen und die zugehörigen Ereigniszuordnungen aufgeführt:

Ereignistyp und entsprechende zugeordnete Ereignisse
Maus„mousedown“, „mouseup“, „click“, „dblclick“, „mousemove“, „mouseover“, „mouseout“, „mousewheel“
Schlüssel„keydown“, „keyup“, „keypress“, „textInput“
Touchscreen„touchstart“, „touchmove“, „touchend“, „touchcancel“
Kontrollgruppe„Größe ändern“, „Scrollen“, „Zoomen“, „Fokus“, „Unscharfstellen“, „Auswählen“, „Ändern“, „Senden“, „Zurücksetzen“

Im folgenden Beispiel wird der Ereignistyp „key“ verwendet, um alle entsprechenden Schlüsselereignisse in einem Eingabetextfeld zu erfassen, das derzeit im Bereich Elemente ausgewählt ist.

monitorEvents($0, "key");

Unten sehen Sie eine Beispielausgabe, nachdem Zeichen in das Textfeld eingegeben wurden:

Schlüsselereignisse überwachen

Verwenden Sie unmonitorEvents(object[, events]), um das Monitoring zu beenden.

„profile“([name]) und „profileEnd“([name])

profile() startet eine JavaScript-CPU-Profilierungssitzung mit einem optionalen Namen. profileEnd() schließt das Profil ab und zeigt die Ergebnisse im Leistung > Haupt-Track an.

So starten Sie das Profiling:

profile("Profile 1")

So beenden Sie das Profiling und sehen sich die Ergebnisse im Tab Leistung > Haupt an:

profileEnd("Profile 1")

Das Ergebnis wird auf dem Tab Leistung > Haupt angezeigt:

Profil 1 im Hauptpfad „Leistung“

Profile können auch verschachtelt werden. Das funktioniert beispielsweise in beliebiger Reihenfolge:

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

queryObjects(Constructor)

Rufen Sie queryObjects(Constructor) in der Konsole auf, um ein Array von Objekten zurückzugeben, die mit dem angegebenen Konstruktor erstellt wurden. Beispiel:

  • queryObjects(Promise): Gibt alle Instanzen von Promise zurück.
  • queryObjects(HTMLElement): Gibt alle HTML-Elemente zurück.
  • queryObjects(foo), wobei foo ein Klassenname ist. Gibt alle Objekte zurück, die über new foo() instanziiert wurden.

Der Umfang von queryObjects() ist der aktuell ausgewählte Ausführungskontext in der Konsole.

table(data [, columns])

Sie können Objektdaten in Tabellenformat erfassen, indem Sie ein Datenobjekt mit optionalen Spaltenüberschriften übergeben. Dies ist eine Tastenkombination für console.table().

So können Sie beispielsweise eine Liste von Namen in einer Tabelle in der Konsole anzeigen lassen:

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

Beispiel für die Methode „table()“.

undebug(function)

undebug(function) beendet das Debuggen der angegebenen Funktion, sodass der Debugger beim Aufrufen der Funktion nicht mehr aufgerufen wird. Diese Option wird in Verbindung mit debug(fn) verwendet.

undebug(getData);

unmonitor(function)

unmonitor(function) stoppt das Monitoring der angegebenen Funktion. Diese Option wird in Verbindung mit monitor(fn) verwendet.

unmonitor(getData);

unmonitorEvents(object [, events])

unmonitorEvents(object[, events]) beendet die Überwachung von Ereignissen für das angegebene Objekt und die angegebenen Ereignisse. Mit dem folgenden Code wird beispielsweise die gesamte Ereignisüberwachung für das Fensterobjekt beendet:

unmonitorEvents(window);

Sie können auch selektiv das Monitoring bestimmter Ereignisse für ein Objekt beenden. Im folgenden Code werden beispielsweise alle Mausereignisse für das aktuell ausgewählte Element überwacht und dann die Überwachung der „mousemove“-Ereignisse beendet, um die Unruhe in der Konsolenausgabe zu reduzieren:

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

values(object)

values(object) gibt ein Array zurück, das die Werte aller Attribute enthält, die zum angegebenen Objekt gehören.

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

values(player);

Ergebnis von „values(player)“.