4 utili istruzioni JavaScript che dovresti sapere
Le dichiarazioni di JavaScript ci danno il potere di implementare diversi tipi di logica nel nostro codice. JavaScript ci fornisce molti di loro, ognuno dei quali ha il suo scopo e sintassi. Tra gli esempi più noti possiamo trovare dichiarazioni di espressione, istruzioni di iterazione, istruzioni condizionali e altro
Nel post di oggi vedremo quattro dichiarazioni JavaScript meno comuni potresti non averlo conosciuto prima, ma puoi approfondire la tua conoscenza di JavaScript e permetterti di scrivere codice migliore.
1. Dichiarazione vuota
Al posto di qualsiasi istruzione JavaScript, è possibile aggiungere un'istruzione vuota, che è scritta come un singolo punto e virgola ;
. Quando l'interprete JavaScript interpreta un'istruzione vuota, nessun codice viene eseguito, quindi possono essere utili a sostituire le sotto-dichiarazioni che non si desidera eseguire.
Ad esempio, supponiamo che ci sia una variabile chiamata tornasole
con il valore predefinito neutro
. Basato sul valore di un'altra variabile chiamata pH
, tornasole
cambia in entrambi acido
quando il pH < 7 or di base
quando il pH> 7.
Se il valore di pH
risulta non valido, viene generato un errore. Per un condizione in questo modo si applicano le seguenti dichiarazioni condizionali:
var litmus = 'neutrale'; var pH; se (pH> 0 e pH<7) litmus = 'acidic'; else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";
Tuttavia l'insieme di istruzioni sopra riportato genera un errore quando pH
Il valore di è 7, che non dovrebbe essere il caso.
quando pH
è 7, tornasole
dovrebbe mantenere il suo valore predefinito, cioè neutro
. Quindi, per un caso come questo, aggiungi una condizione quando pH
è 7 con un'istruzione vuota finale.
var litmus = 'neutrale'; var pH; se (pH> 0 e pH<7) litmus = 'acidic'; else if(pH===7) ; /* empty statement */ else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";
Ora, quando pH
è 7, l'interprete non esegue alcuna istruzione, e tornasole
mantiene il suo valore predefinito, neutro
.
Le istruzioni vuote possono anche essere utilizzate per popolare un array con l'aiuto di per
ciclo continuo.
var ary = []; per (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]
In genere, a per
l'istruzione loop è seguita da una sotto-istruzione costituita da una singola, o da un'istruzione di blocco (quella inclusa in parentesi graffe) da eseguire. Usando un'istruzione vuota al posto dell'istruzione secondaria, l'interprete non avrà nulla da eseguire dopo ogni ciclo, quindi solo il looping si verifica e vengono eseguite le condizioni di loop.
Nell'esempio sopra, ary [i ++] = i
viene eseguito per ogni iterazione del ciclo come parte della condizione di loop e della matrice ary
viene istanziato con valori di io
.
2. Il debugger
dichiarazione
In strumenti di debug, possiamo aggiungi marcatori chiamato punti di interruzione a qualsiasi riga nel codice sorgente a segna le linee da dove lo strumento debugger avvierà il debug.
In JavaScript, il debugger
dichiarazione funziona allo stesso modo di un punto di interruzione, tranne che è aggiunto direttamente nel codice sorgente, piuttosto che all'interno di uno strumento. Verrà eseguito qualsiasi debugger in esecuzione fermare l'esecuzione dello script quando raggiunge il debugger
dichiarazione per aiutarti a eseguire il debug del codice.
Ricorda che il debug verrà attivato solo se lo script è in esecuzione in una modalità di debug, Ad esempio, un programma di debug sta già eseguendo l'esecuzione dello script. Se non esiste un programma di debugger attualmente in esecuzione durante l'interpretazione di debugger
dichiarazione, l'interprete continuerà il suo lavoro come se nulla fosse accaduto.
Come test rapido, esegui il codice seguente in Codepen, mantenendo aperto lo strumento debugger del browser:
console.log ( 'tesing'); debugger; console.log ('istruzione di debug');
Vedrai un punto di interruzione oltre al debugger
dichiarazione come mostrato di seguito nello strumento di debugger del browser.

3. Dichiarazione etichettata
In JavaScript, puoi anche aggiungere etichette a determinate istruzioni. In tal modo, puoi in seguito saltare alla dichiarazione etichettata usando la sua etichetta nel tuo codice, tipo come il vai a
la dichiarazione funziona in alcune altre lingue.
Le dichiarazioni etichettate possono essere utilizzate solo insieme al rompere
e Continua
le affermazioni, come in JavaScript, non sono letterali vai a
dichiarazione.
Tutti e due rompere
e Continua
può essere utilizzato solo all'interno di istruzioni di loop, come ad esempio per
loop (con una eccezione, rompere
può essere usato nel interruttore
dichiarazione pure). Quindi, possiamo etichettare i loop e usarli rompere
e Continua
per controllare la loro esecuzione.
Il sintassi delle dichiarazioni etichettate è semplice, devi solo aggiungere il nome dell'etichetta con i due punti seguenti, come puoi vedere nell'esempio qui sotto, dove ciclo continuo
è il nome dell'etichetta che aggiungiamo al per
ciclo continuo.
loop: for (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4
Quando il valore di io
è 2, l'esecuzione salta indietro al ciclo invece di procedere e quindi impedisce l'output della console di “2”.
Ora vediamo un altro esempio con il rompere
dichiarazione. Basta sostituire il Continua
parola chiave con rompere
nell'esempio sopra, e noterai che invece di tornare al ciclo come ha fatto con Continua
, il ciclo termina / rompe del tutto.
loop: for (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1
Gli esempi sopra riportati sono piuttosto semplici, in modo che tu possa capire rapidamente come funzionano le istruzioni etichettate, ma nella codifica della vita reale, le etichette sono più frequentemente usate nei loop compositi, quando è necessario distinguere i diversi loop, come nell'esempio seguente:
loop: for (var i = 0; i<4; i++) for(var j=0; j<2; j++) if(i===2 && j===1) break loop; console.log(i+"-"+j);
Qui, il anello esterno pause al valore 2 per variabile io
e a 1 per j
, e la console restituisce il seguente risultato:
0-0 0-1 1-0 1-1 2-0
4. Il con
dichiarazione
Quando interprete JS si imbatte in un nome non qualificato che non specifica a quale oggetto o funzione è associata la chiamata cerca nella catena di portata per ogni oggetto o funzione adatto a cui può riferirsi la chiamata.
Usando il con
dichiarazione, possiamo aggiungi un oggetto all'inizio della catena dell'ambito, e specificare a quale oggetto è associata la chiamata.
Nell'esempio seguente, puoi vedere che le proprietà di persona
gli oggetti sono chiamati usando i loro nomi solo all'interno del con
dichiarazione.
var person = firstName: "John", lastName: "Doe", età: "18", paese: "Groenlandia"; con (persona) console.log ("Ciao, il mio nome è" + firstName + "" + lastName + ". Sono" + age + "anni e vivo in" + country + "."); // "Ciao, mi chiamo John Doe. Ho 18 anni e vivo in Groenlandia".
Confronta come apparirebbe il codice sopra senza usare il con
dichiarazione:
var person = firstName: "John", lastName: "Doe", età: "18", paese: "Groenlandia"; console.log ("Ciao, il mio nome è" + person.firstName + "" + person.lastName + ". Sono" + person.age + "anni e vivo in" + person.country + "." ); // "Ciao, mi chiamo John Doe. Ho 18 anni e vivo in Groenlandia".
Puoi vedere il con
l'istruzione può essere un'ottima scorciatoia se si lavora con molte proprietà dello stesso oggetto.
Si noti tuttavia che l'uso di con
dichiarazione in modalità rigorosa non è permesso, dal momento che può causare confusione nell'oscilloscopio.
Inoltre, si consiglia di utilizzare solo il con
dichiarazione se le sue dichiarazioni interne utilizzano l'oggetto associato al con
dichiarazione, altrimenti l'interprete perderà tempo a guardare nell'oggetto menzionato da con
in primo luogo, per tutti i nomi di proprietà non qualificati che troverà successivamente nel con
bloccare.