API-referentie voor Console Utilities

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

De Console Utilities API bevat een verzameling handige functies voor het uitvoeren van veelvoorkomende taken: DOM-elementen selecteren en inspecteren, query's uitvoeren op objecten, gegevens tonen in een leesbare indeling, de profiler stoppen en starten, DOM-gebeurtenissen en functieaanroepen bijhouden en meer.

Zoek je console.log(), console.error() en de rest van de console.*-functies? Ga naar de Console API-referentie.

$_

$_ retourneert de waarde van de meest recent geëvalueerde expressie.

In het volgende voorbeeld wordt een eenvoudige expressie (2 + 2) geëvalueerd. Daarna wordt de property $_ geëvalueerd, die dezelfde waarde bevat:

$_ is de meest recent geëvalueerde expressie.

In het volgende voorbeeld bevat de geëvalueerde expressie in eerste instantie een reeks namen. Als je $_.length evalueert om de lengte van de reeks te vinden, verandert de waarde die is opgeslagen in $_ in de laatst geëvalueerde expressie, 4:

$_ verandert wanneer nieuwe opdrachten worden geëvalueerd.

$0 - $4

De opdrachten $0, $1, $2, $3 en $4 werken als een historische referentie naar de laatste 5 DOM-elementen (waaronder pseudo-elementen zoals ::before of ::after) die zijn geïnspecteerd in het deelvenster Elementen of de laatste 5 JavaScript-heapobjecten die zijn geselecteerd in het deelvenster Profielen. $0 retourneert het meest recent geselecteerde element of JavaScript-object, $1 retourneert het op een na meest recent geselecteerde element, enzovoort.

In het volgende voorbeeld is een img-element geselecteerd in het deelvenster Elementen. In de lade Console is $0 geëvalueerd en wordt hetzelfde element getoond:

Voorbeeld van $0.

De afbeelding hieronder toont een ander element dat op dezelfde pagina is geselecteerd. $0 verwijst nu naar het nieuw geselecteerde element, terwijl $1 het eerder geselecteerde element retourneert:

Voorbeeld van $1.

$(selector [, startNode])

$(selector) retourneert de referentie naar het eerste DOM-element met de opgegeven css-kiezer. Als deze functie met één argument wordt aangeroepen, is dit een snelkoppeling voor de document.querySelector().

Het volgende voorbeeld retourneert een referentie naar het eerste <img> element in het document:

Voorbeeld van $('img').

Klik met de rechtermuisknop op het geretourneerde resultaat en selecteer Tonen in het deelvenster Elementen om het in de DOM te vinden of Naar weergave scrollen om het op de pagina te tonen.

Het volgende voorbeeld retourneert een referentie naar het op dit moment geselecteerde element en toont de property src:

Voorbeeld van $('img').src.

Deze functie ondersteunt ook een 2e parameter, startNode, die een element of node specificeert van waaruit naar elementen moet worden gezocht. De standaardwaarde van deze parameter is document.

Het volgende voorbeeld retourneert een referentie naar het eerste img-element dat een afstammeling is van devsite-header-background en toont de property src:

Voorbeeld van $('img', div).src.

$$(selector [, startNode])

$$(selector) retourneert een reeks elementen die overeenkomen met de opgegeven css-kiezer. Deze opdracht is gelijk aan het aanroepen van Array.from(document.querySelectorAll()).

Het volgende voorbeeld gebruikt $$() 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);
}

Voorbeeld van het gebruik van<!-- notranslate l10n-placeholder: l10n-placeholder3 -->()</code> om een array van alle <code translate=<img>-elementen die in het huidige document na de geselecteerde node worden getoond:

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

Voorbeeld van het gebruik van $() om alle afbeeldingen te selecteren die na het geselecteerde div-element in het document verschijnen en de bronnen ervan weer te geven.

$x(path [, startNode])

$x(path) retourneert een reeks DOM-elementen die overeenkomen met de opgegeven XPath-expressie.

Het volgende retourneert bijvoorbeeld alle <p>-elementen op de pagina:

$x("//p")

Voorbeeld van het gebruik van een XPath-kiezer.

Het volgende voorbeeld retourneert alle <p>-elementen die <a>-elementen bevatten:

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

Voorbeeld van het gebruik van een complexere XPath-kiezer.

Net als de andere selectiefuncties heeft $x(path) een optionele 2e parameter, startNode, die een element of node specificeert van waaruit naar elementen moet worden gezocht.

Voorbeeld van het gebruik van een XPath-kiezer met startNode.

clear()

clear() wist de geschiedenis van de console.

clear();

copy(object)

copy(object) kopieert een tekenreeksweergave van het opgegeven object naar het klembord.

copy($0);

debug(function)

Als de opgegeven functie wordt aangeroepen, wordt de foutopsporing aangeroepen en wordt de uitvoering onderbroken in de functie in het deelvenster Bronnen. Zo kun je de code doorlopen en fouten opsporen.

debug(getData);

Onderbreken in een functie met debug().

Gebruik undebug(fn) om het onderbreken van de functie te stoppen of gebruik de UI om alle breakpoints uit te zetten.

Ga naar Je code onderbreken met breakpoints voor meer informatie over breakpoints.

dir(object)

dir(object) toont een lijst in objectstijl van alle property's van het opgegeven object. Deze methode is een snelkoppeling voor de methode console.dir() van de Console API.

Het volgende voorbeeld toont het verschil tussen de directe evaluatie van document.body op de opdrachtregel en het gebruik van dir() om hetzelfde element te tonen:

document.body;
dir(document.body);

Document.body registreren met en zonder de functie dir().

Ga naar het item console.dir() in de Console API voor meer informatie.

dirxml(object)

dirxml(object) drukt een XML-weergave van het opgegeven object af, zoals getoond in het deelvenster Elementen. Deze methode is gelijk aan de console.dirxml() methode.

inspect(object/function)

inspect(object/function) opent en selecteert het opgegeven element of object in het juiste deelvenster: het deelvenster Elementen voor DOM-elementen of het deelvenster Profielen voor JavaScript-heapobjecten.

Het volgende voorbeeld opent document.body in het deelvenster Elementen:

inspect(document.body);

Een element inspecteren met inspect().

Als je een functie doorgeeft om te inspecteren, opent de functie het document in het deelvenster Bronnen zodat je het kunt inspecteren.

getEventListeners(object)

getEventListeners(object) retourneert de gebeurtenis-listeners die zijn geregistreerd voor het opgegeven object. De geretourneerde waarde is een object dat een reeks bevat voor elk geregistreerd gebeurtenistype (bijvoorbeeld click of keydown). De leden van elke reeks zijn objecten die de listener beschrijven die voor elk type is geregistreerd. Het volgende toont bijvoorbeeld alle gebeurtenis-listeners die zijn geregistreerd voor het documentobject:

getEventListeners(document);

Uitvoer van het gebruik van getEventListeners().

Als er meer dan één listener is geregistreerd voor het opgegeven object, bevat de reeks een lid voor elke listener. In het volgende voorbeeld zijn er 2 gebeurtenis-listeners geregistreerd voor het documentelement voor de gebeurtenis click:

Meerdere luisteraars.

Je kunt elk van deze objecten verder uitvouwen om de property's te verkennen:

Uitgevouwen weergave van het listener-object.

Ga naar Objectproperty's inspecteren voor meer informatie.

keys(object)

keys(object) retourneert een reeks met de namen van de property's die bij het opgegeven object horen. Gebruik values() om de bijbehorende waarden van dezelfde property's op te halen.

Stel dat je app het volgende object heeft gedefinieerd:

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

Als player is gedefinieerd in de globale naamruimte (voor de eenvoud), leidt het typen van keys(player) en values(player) in de console tot het volgende:

Voorbeeld van de methoden keys() en values().

monitor(function)

Als de opgegeven functie wordt aangeroepen, wordt er een bericht in de console geregistreerd dat de functienaam aangeeft, samen met de argumenten die aan de functie worden doorgegeven toen deze werd aangeroepen.

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

Voorbeeld van de methode monitor().

Gebruik unmonitor(function) om de monitoring te stoppen.

monitorEvents(object [, events])

Als een van de opgegeven gebeurtenissen plaatsvindt voor het opgegeven object, wordt het gebeurtenisobject in de console geregistreerd. Je kunt één gebeurtenis opgeven om bij te houden, een reeks gebeurtenissen of een van de algemene gebeurtenistypen die zijn toegewezen aan een vooraf gedefinieerde verzameling gebeurtenissen. Voorbeelden staan hieronder.

Het volgende houdt alle gebeurtenissen voor het wijzigen van de grootte bij voor het window-object.

monitorEvents(window, "resize");

Gebeurtenissen voor het aanpassen van het vensterformaat worden gemonitord.

Het volgende definieert een reeks om zowel de gebeurtenissen resize als scroll bij te houden voor het window-object:

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

Je kunt ook een van de beschikbare gebeurtenistypen opgeven, tekenreeksen die zijn toegewezen aan vooraf gedefinieerde sets gebeurtenissen. De tabel hieronder bevat de beschikbare gebeurtenistypen en de bijbehorende gebeurtenistoewijzingen:

Gebeurtenistype en bijbehorende toegewezen gebeurtenissen
muis"mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel"
sleutel"keydown", "keyup", "keypress", "textInput"
aanraken"touchstart", "touchmove", "touchend", "touchcancel"
controle"resize", "scroll", "zoom", "focus", "blur", "select", "change", "submit", "reset"

Het volgende gebruikt bijvoorbeeld het gebeurtenistype key voor alle bijbehorende toetsgebeurtenissen in een invoertekstveld dat op dit moment is geselecteerd in het deelvenster Elementen.

monitorEvents($0, "key");

Hieronder staat een voorbeeld van de uitvoer nadat je een aantal tekens in het tekstveld hebt getypt:

Belangrijke gebeurtenissen bijhouden.

Gebruik unmonitorEvents(object[, events]) om de monitoring te stoppen.

profile([name]) en profileEnd([name])

profile() start een JavaScript CPU-profileringssessie met een optionele naam. profileEnd() voltooit het profiel, opent automatisch het deelvenster Prestaties en toont de resultaten in de track Hoofd.

Zo start je de profilering:

profile("Profile 1")

Zo stop je de profilering en bekijk je de resultaten in de track Prestaties > Hoofd:

profileEnd("Profile 1")

Resultaat in de track Prestaties > Hoofd:

Profiel 1 in de hoofdtrack van Prestaties.

Je kunt profielen ook nesten. Dit werkt bijvoorbeeld in elke volgorde:

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

queryObjects(Constructor)

Roep queryObjects(Constructor) aan vanuit de console om een reeks objecten te retourneren die zijn gemaakt met de opgegeven constructor. Bijvoorbeeld:

  • queryObjects(Promise). Retourneert alle instanties van Promise.
  • queryObjects(HTMLElement). Retourneert alle HTML-elementen.
  • queryObjects(foo), waarbij foo een klassenaam is. Retourneert alle objecten die zijn geïnstantieerd via new foo().

Het bereik van queryObjects() is de op dit moment geselecteerde uitvoeringscontext in de console.

table(data [, columns])

Registreer objectgegevens met tabelopmaak door een gegevensobject door te geven met optionele kolomkoppen. Dit is een snelkoppeling voor console.table().

Als je bijvoorbeeld een lijst met namen wilt tonen met een tabel in de console, doe je het volgende:

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

Voorbeeld van de methode table().

Als je een geregistreerde tabel naar het klembord wilt kopiëren als een opgemaakte Markdown-tabel of csv-gegevens, klik je met de rechtermuisknop op de tabel in de console en selecteer je de bijbehorende kopieeroptie in het contextmenu.

undebug(function)

undebug(function) stopt de foutopsporing van de opgegeven functie, zodat de foutopsporing niet meer wordt aangeroepen als de functie wordt aangeroepen. Dit wordt gebruikt in combinatie met debug(fn).

undebug(getData);

unmonitor(function)

unmonitor(function) stopt de monitoring van de opgegeven functie. Dit wordt gebruikt in combinatie met monitor(fn).

unmonitor(getData);

unmonitorEvents(object [, events])

unmonitorEvents(object[, events]) stopt de monitoring van gebeurtenissen voor het opgegeven object en de opgegeven gebeurtenissen. Het volgende stopt bijvoorbeeld alle gebeurtenismonitoring voor het window-object:

unmonitorEvents(window);

Je kunt ook selectief stoppen met het bijhouden van specifieke gebeurtenissen voor een object. De volgende code start bijvoorbeeld de monitoring van alle muisgebeurtenissen voor het op dit moment geselecteerde element en stopt daarna de monitoring van mousemove-gebeurtenissen (misschien om ruis in de console-uitvoer te verminderen):

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

values(object)

values(object) retourneert een reeks met de waarden van alle property's die bij het opgegeven object horen.

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

values(player);

Resultaat van waarden(speler).