Riferimento API Console Utilities

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

L'API Console Utilities contiene una raccolta di funzioni utili per l'esecuzione di attività comuni: selezione e ispezione di elementi DOM, query sugli oggetti, visualizzazione dei dati in formato leggibile, arresto e avvio del profiler, monitoraggio degli eventi DOM e delle chiamate di funzione e altro ancora.

Stai cercando console.log(), console.error() e le altre funzioni di console.*? Consulta i riferimenti per l'API della console.

$_

$_ restituisce il valore dell'espressione valutata più di recente.

Nell'esempio seguente, viene valutata un'espressione semplice (2 + 2). Viene quindi valutata la proprietà $_, che contiene lo stesso valore:

$_ è l'espressione valutata più di recente.

Nell'esempio successivo, l'espressione valutata contiene inizialmente un array di nomi. Valutando $_.length per trovare la lunghezza dell'array, il valore archiviato in $_ cambia per diventare l'ultima espressione valutata, 4:

$_ cambia quando vengono valutati nuovi comandi.

0-4 $

I comandi $0, $1, $2, $3 e $4 fungono da riferimento storico agli ultimi cinque elementi DOM ispezionati nel riquadro Elementi o agli ultimi cinque oggetti heap JavaScript selezionati nel riquadro Profili. $0 restituisce l'elemento o l'oggetto JavaScript selezionato più di recente, $1 restituisce il secondo elemento selezionato più di recente e così via.

Nell'esempio seguente, un elemento img è selezionato nel riquadro Elementi. Nel riquadro a scomparsa Console, $0 è stato valutato e mostra lo stesso elemento:

Esempio di $0.

L'immagine seguente mostra un elemento diverso selezionato nella stessa pagina. $0 ora si riferisce al nuovo elemento selezionato, mentre $1 restituisce quello selezionato in precedenza:

Esempio di $1.

$(selettore [, startNode])

$(selector) restituisce il riferimento al primo elemento DOM con il selettore CSS specificato. Quando viene chiamata con un argomento, questa funzione è una scorciatoia per la funzione document.querySelector().

L'esempio seguente restituisce un riferimento al primo elemento <img> del documento:

Esempio di $(&#39;img&#39;).

Fai clic con il tasto destro del mouse sul risultato restituito e seleziona Mostra nel riquadro Elementi per trovarlo nel DOM oppure Scorri per visualizzare per mostrarlo sulla pagina.

L'esempio seguente restituisce un riferimento all'elemento attualmente selezionato e ne mostra la proprietà src:

Esempio di $(&#39;img&#39;).src.

Questa funzione supporta anche un secondo parametro, startNode, che specifica un "elemento" o un Nodo da cui cercare gli elementi. Il valore predefinito di questo parametro è document.

L'esempio seguente restituisce un riferimento al primo elemento img che è un discendente di devsite-header-background e mostra la relativa proprietà src:

Esempio di $(&#39;img&#39;, div).src.

$$(selector [, startNode])

$$(selettore) restituisce un array di elementi corrispondenti al selettore CSS specificato. Questo comando equivale a chiamare Array.from(document.querySelectorAll()).

L'esempio seguente utilizza $$() 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);
}

Esempio di utilizzo di<span class=l10n-placeholder3() per creare un array di tutti gli elementi <img> che appaiono nel documento corrente dopo il Nodo selezionato:

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

Esempio di utilizzo di $() per selezionare tutte le immagini visualizzate dopo l&#39;elemento div selezionato nel documento e di visualizzazione delle relative origini.

$x(percorso [, startNode])

$x(path) restituisce un array di elementi DOM corrispondenti all'espressione XPath specificata.

Ad esempio, quanto segue restituisce tutti gli elementi <p> della pagina:

$x("//p")

Esempio di utilizzo di un selettore XPath.

L'esempio seguente restituisce tutti gli elementi <p> che contengono elementi <a>:

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

Esempio di utilizzo di un selettore XPath più complicato.

Analogamente alle altre funzioni del selettore, $x(path) ha un secondo parametro facoltativo, startNode, che specifica un elemento o un Nodo da cui cercare gli elementi.

Esempio di utilizzo di un selettore XPath con startNode.

cancella()

clear() cancella la cronologia della console.

clear();

copia(oggetto)

copy(object) copia negli appunti una rappresentazione stringa dell'oggetto specificato.

copy($0);

debug(funzione)

Quando viene richiamata la funzione specificata, il debugger viene richiamato e si interrompe all'interno della funzione nel riquadro Origini, consentendo di scorrere il codice ed eseguirne il debug.

debug(getData);

Interruzione di una funzione con debug().

Usa undebug(fn) per interrompere l'interruzione della funzione oppure utilizza la UI per disattivare tutti i punti di interruzione.

Per saperne di più sui punti di interruzione, consulta l'articolo Metti in pausa il codice con i punti di interruzione.

dir(object)

dir(object) mostra un elenco in stile oggetto di tutte le proprietà dell'oggetto specificato. Questo metodo è una scorciatoia per il metodo console.dir() dell'API Console.

L'esempio seguente mostra la differenza tra la valutazione di document.body direttamente nella riga di comando e l'utilizzo di dir() per visualizzare lo stesso elemento:

document.body;
dir(document.body);

Registrazione di document.body con e senza la funzione dir().

Per maggiori informazioni, consulta la voce console.dir() nell'API Console.

dirxml(oggetto)

dirxml(object) stampa una rappresentazione XML dell'oggetto specificato, come mostrato nel riquadro Elementi. Questo metodo è equivalente a console.dirxml().

inspect(object/function)

inspect(object/function) si apre e seleziona l'elemento o l'oggetto specificato nel riquadro appropriato: il riquadro Elementi per gli elementi DOM o il riquadro Profili per gli oggetti heap JavaScript.

L'esempio seguente apre document.body nel riquadro Elementi:

inspect(document.body);

Ispezione di un elemento con inspect().

Quando passi una funzione da ispezionare, la funzione apre il documento nel riquadro Origini per consentirti di esaminarlo.

getEventListeners(object)

getEventListeners(object) restituisce i listener di eventi registrati nell'oggetto specificato. Il valore restituito è un oggetto che contiene un array per ogni tipo di evento registrato (ad esempio click o keydown). I membri di ogni array sono oggetti che descrivono il listener registrato per ogni tipo. Ad esempio, quanto segue elenca tutti i listener di eventi registrati nell'oggetto documento:

getEventListeners(document);

Output dell&#39;utilizzo di getEventListeners().

Se più di un listener è registrato nell'oggetto specificato, l'array contiene un membro per ogni listener. Nell'esempio seguente, sono presenti due listener di eventi registrati nell'elemento documento per l'evento click:

Più listener.

Puoi espandere ulteriormente ciascuno di questi oggetti per esplorarne le proprietà:

Visualizzazione espansa dell&#39;oggetto listener.

Per ulteriori informazioni, consulta la sezione Controllare le proprietà degli oggetti.

chiavi(oggetto)

keys(object) restituisce un array contenente i nomi delle proprietà appartenenti all'oggetto specificato. Per ottenere i valori associati delle stesse proprietà, utilizza values().

Ad esempio, supponiamo che la tua applicazione abbia definito il seguente oggetto:

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

Supponendo che player sia stato definito nello spazio dei nomi globale (per semplicità), se digiti keys(player) e values(player) nella console ottieni quanto segue:

Esempio di metodi key() e values().

monitor(function)

Quando viene richiamata la funzione specificata, nella console viene registrato un messaggio che indica il nome della funzione e gli argomenti passati alla funzione quando è stata chiamata.

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

Esempio del metodo monitor().

Utilizza unmonitor(function) per interrompere il monitoraggio.

monitorEvents(object [, events])

Quando si verifica uno degli eventi specificati nell'oggetto specificato, l'oggetto Evento viene registrato nella console. Puoi specificare un singolo evento da monitorare, un array di eventi o uno dei "tipi" di eventi generici mappati a una raccolta predefinita di eventi. Guarda gli esempi di seguito.

Quanto segue monitora tutti gli eventi di ridimensionamento dell'oggetto finestra.

monitorEvents(window, "resize");

Eventi di ridimensionamento della finestra di monitoraggio.

Quanto segue definisce un array per monitorare gli eventi "ridimensiona" e "scroll" per l'oggetto finestra:

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

Puoi anche specificare uno dei "tipi" di eventi disponibili, stringhe che corrispondono a insiemi predefiniti di eventi. Nella tabella seguente sono elencati i tipi di eventi disponibili e le mappature degli eventi associate:

Tipo di evento ed eventi mappati corrispondenti
topo"mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel"
chiave"keydown", "keyup", "keypress", "textInput"
touch"touchstart", "touchmove", "touchend", "touchcancel"
controllo"ridimensiona", "scroll", "zoom", "focus", "sfocare", "select", "change", "submit", "reset"

Ad esempio, quanto segue utilizza il tipo di evento "chiave" per tutti gli eventi chiave corrispondenti in un campo di testo di input attualmente selezionato nel riquadro Elementi.

monitorEvents($0, "key");

Di seguito è riportato un esempio di output dopo la digitazione di un carattere nel campo di testo:

Monitoraggio degli eventi chiave.

Utilizza unmonitorEvents(object[, events]) per interrompere il monitoraggio.

profile([nome]) e profileEnd([name])

profile() avvia una sessione di profilazione della CPU JavaScript con un nome facoltativo. profileEnd() completa il profilo e visualizza i risultati nel canale Rendimento > Principale.

Per avviare la profilazione:

profile("Profile 1")

Per interrompere la profilazione e visualizzare i risultati nel canale Rendimento > Principale:

profileEnd("Profile 1")

Risultato nella traccia Rendimento > Principale:

Pista principale." width="800" height="606">

I profili possono anche essere nidificati. Ad esempio, puoi procedere in qualsiasi ordine:

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

queryObjects(Constructor)

Chiama queryObjects(Constructor) dalla console per restituire un array di oggetti creati con il costruttore specificato. Ad esempio:

  • queryObjects(Promise). Restituisce tutte le istanze di Promise.
  • queryObjects(HTMLElement). Restituisce tutti gli elementi HTML.
  • queryObjects(foo), dove foo è il nome di un corso. Restituisce tutti gli oggetti per cui è stata creata un'istanza tramite new foo().

L'ambito di queryObjects() è il contesto di esecuzione attualmente selezionato nella console.

tabella(dati [, colonne])

Registra i dati degli oggetti con formattazione della tabella passando un oggetto dati con intestazioni di colonna facoltative. Questa è una scorciatoia per console.table().

Ad esempio, per visualizzare un elenco di nomi utilizzando una tabella nella console, procedi come segue:

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

Esempio del metodo table().

undebug(funzione)

undebug(function) interrompe il debug della funzione specificata in modo che quando la funzione viene richiamata, il debugger non sia più richiamato. Viene utilizzata insieme a debug(fn).

undebug(getData);

unmonitor(funzione)

unmonitor(function) interrompe il monitoraggio della funzione specificata. Viene utilizzata insieme a monitor(fn).

unmonitor(getData);

unmonitorEvents(object [, events])

unmonitorEvents(object[, events]) interrompe il monitoraggio degli eventi per l'oggetto e gli eventi specificati. Ad esempio, quanto segue interrompe il monitoraggio di tutti gli eventi sull'oggetto finestra:

unmonitorEvents(window);

Puoi anche interrompere selettivamente il monitoraggio di eventi specifici su un oggetto. Ad esempio, il seguente codice inizia a monitorare tutti gli eventi del mouse sull'elemento attualmente selezionato, quindi interrompe il monitoraggio degli eventi "mousemove" (ad esempio per ridurre il rumore nell'output della console):

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

valori(oggetto)

values(object) restituisce un array contenente i valori di tutte le proprietà appartenenti all'oggetto specificato.

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

values(player);

Risultato dei valori(player).