4 Nyttige JavaScript-erklæringer du bør vide
JavaScript erklæringer giver os magt til implementere forskellige typer logik i vores kode. JavaScript giver os flere af dem, som alle har sit eget formål og syntax. Blandt de mest kendte eksempler kan vi finde udtryk udsagn, iteration udsagn, betingede udsagn og meget mere
I dagens post vil vi se fire mindre almindelige JavaScript-udsagn Du har muligvis ikke kendt før, men kan fordybe din JavaScript-viden og gøre dig i stand til at skrive bedre kode.
1. Empty Statement
I stedet for en JavaScript-erklæring kan du tilføje en tom sætning, som er skrevet som et enkelt semikolon ;
. Når JavaScript-tolken tolker en tom sætning, ingen kode udføres, derfor kan de være nyttige til Udskift underopgørelser, som du ikke vil udføre.
Antag for eksempel, at der er en variabel, der hedder lakmus
med standardværdien neutral
. Baseret på værdien af en anden variabel kaldet pH
, lakmus
ændres til enten surt
når pH < 7 or grundlæggende
når pH> 7.
Hvis værdien af pH
viser sig at være ugyldig, en fejl er kastet. For a tilstand På denne måde gælder følgende betingede udsagn:
var lakmus = 'neutral'; var pH; hvis (pH> 0 && pH<7) litmus = 'acidic'; else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";
Men ovennævnte sæt sætninger kaster en fejl, når pH
s værdi er 7, hvilket ikke burde være tilfældet.
Hvornår pH
er 7, lakmus
bør holde sin standardværdi, det vil sige neutral
. Så tilføj en betingelse i tilfælde af dette pH
er 7 med en efterfølgende tom udsagn.
var lakmus = 'neutral'; var pH; hvis (pH> 0 && pH<7) litmus = 'acidic'; else if(pH===7) ; /* empty statement */ else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";
Nu, hvornår pH
er 7, udfører tolken ikke nogen instruktioner, og lakmus
holder sin standardværdi, neutral
.
Tomme sætninger kan også bruges til at udfylde en matrix ved hjælp af til
løkke.
var ary = []; for (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]
Typisk a til
loop statement er efterfulgt af en underopgørelse, der består af en enkelt eller en blok erklæring (den ene er indeholdt i krøllede parenteser), der skal udføres. Ved at bruge en tom sætning i stedet for underopgørelsen vil tolken ikke have noget at udføre efter hver løkke, så kun den looping forekommer, og sløjfeforholdene udføres.
I ovenstående eksempel, ary [i ++] = i
udføres for hver loop iteration som en del af looping tilstanden og array ær
får instantiated med værdier af jeg
.
2. Den debugger
Udmelding
I fejlsøgningsværktøjer kan vi Tilføj markører hedder breakpoints til en hvilken som helst linje i kildekoden til Marker linjerne, hvor debuggerværktøjet starter debugging.
I JavaScript, den debugger
udmelding fungerer på samme måde som et breakpoint, bortset fra at det er tilføjet kildekoden direkte, snarere end inden for et værktøj. Enhver kørende debugger vil standse scriptudførelsen når den når debugger
erklæring for at hjælpe dig med at fejle koden.
Husk, at debugging bliver udløst kun hvis scriptet kører i fejlsøgningstilstand, dvs. et fejlsøgningsprogram kører allerede over udførelsen af scriptet. Hvis der ikke findes et øjeblikkeligt debuggerprogram, mens du tolker debugger
erklæringen vil fortolkeren fortsætte sit arbejde som om der ikke er sket noget.
Som en hurtig test skal du køre følgende kode i Codepen, mens browserens debugger-værktøj åbnes:
console.log (tesing '); debugger; console.log ('debugging statement');
Du vil se et breakpoint ud over debugger
erklæring som vist nedenfor i browserens debugger-værktøj.
3. Etiketerklæring
I JavaScript kan du også tilføje etiketter til bestemte udsagn. Ved at gøre det kan du Gå senere til den mærkede erklæring bruger sin etiket i din kode, slags ligesom gå til
erklæring fungerer på nogle andre sprog.
Mærkede udsagn kan kun bruges sammen med pause
og Blive ved
erklæringer, som i JavaScript er der ingen bogstavelig gå til
udmelding.
Begge pause
og Blive ved
kan kun bruges indenfor looping erklæringer, som f.eks til
loop (med en undtagelse, pause
kan bruges i kontakt
erklæring også). Så vi kan mærke sløjfer og bruge pause
og Blive ved
at kontrollere deres udførelse.
Det syntaks af mærkede udsagn er simpelt, skal du bare tilføje navnet på etiketten med et følgende kolon, som du kan se det i eksemplet nedenfor, hvor løkke
er navnet på den etiket, vi tilføjer til til
løkke.
loop: for (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4
Når værdien af jeg
er 2, springer eksekveringen tilbage til sløjfen i stedet for at fortsætte og forhindrer dermed konsoludgangen fra “2”.
Lad os nu se et andet eksempel med pause
udmelding. Udskift kun Blive ved
søgeord med pause
i ovenstående eksempel, og du vil bemærke, at i stedet for at hoppe tilbage til løkken som det gjorde med Blive ved
, loopens ender / bryder helt.
loop: for (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1
Eksemplerne ovenfor var ret enkle, så du hurtigt kan forstå, hvordan mærkede udsagn fungerer, men i ægte kodning bruges etiketter hyppigere i sammensatte sløjfer, når det er nødvendigt at skelne de forskellige sløjfer, som i følgende eksempel:
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);
Her, den ydre løkke pauser ved værdi 2 for variabel jeg
og ved 1 for j
, og konsollen returnerer følgende output:
0-0 0-1 1-0 1-1 2-0
4. Den med
Udmelding
Når JS tolkeren kommer på tværs af et ukvalificeret navn det angiver ikke hvilket objekt eller funktion opkaldet er knyttet til, det søger omfangskæden for ethvert egnet objekt eller funktion, som opkaldet kan henvise til.
Ved at bruge med
erklæring, vi kan Tilføj et objekt øverst i omfangskæden, og angive hvilket objekt opkaldet er tilknyttet.
I det følgende eksempel kan du se, at egenskaberne af person
objekt kaldes ved hjælp af deres navne alene inde i med
udmelding.
var person = firstName: "John", sidste navn: "Doe", alder: "18", land: "Grønland"; med (person) console.log ("Hej, mit navn er" + firstName + "" + lastName + ". Jeg er" + alder + "år gammel og bor i" + country + "."); // "Hej, jeg hedder John Doe. Jeg er 18 år gammel og bor i Grønland."
Sammenlign hvordan koden ovenfor ville se ud uden at bruge med
udmelding:
var person = firstName: "John", sidste navn: "Doe", alder: "18", land: "Grønland"; console.log ("Hej, mit navn er" + person.firstName + "" + person.lastName + ". Jeg er" + person.age + "år gammel og bor i" + person.country + "." ); // "Hej, jeg hedder John Doe. Jeg er 18 år gammel og bor i Grønland."
Du kan se, den med
erklæring kan være en god genvej, hvis du arbejder med mange egenskaber af samme objekt.
Bemærk dog at bruge med
udmelding i streng tilstand er ikke tilladt, da det kan forårsage en vis forvirring.
Det anbefales også kun at bruge med
erklæring, hvis dens interne erklæringer anvender objektet der er forbundet med med
erklæring, ellers vil tolken spilde tid på at kigge på det genstand, der nævnes af med
For det første finder alle de ukvalificerede ejendomsnavne, som den senere finder inde i med
blok.