4 Användbara JavaScript-uttalanden du borde veta
JavaScript-uttalanden ger oss befogenhet att implementera olika typer av logik i vår kod. JavaScript ger oss flera av dem, som alla har sin egen syfte och syntax. Bland de mest kända exemplen kan vi hitta uttalanden, iteration uttalanden, villkorliga uttalanden och mer
I dagens inlägg ser vi fyra mindre vanliga JavaScript-uttalanden du kanske inte har känt förut, men kan fördjupa din JavaScript-kunskap och låta dig skriva bättre kod.
1. Empty Statement
I stället för något JavaScript-uttalande kan du lägga till ett tomt uttalande, som är skrivet som en enda halvkolon ;
. När JavaScript-tolken tolkar ett tomt uttalande, ingen kod exekveras, därför kan de vara användbara att Byt ut undergrupper som du inte vill utföra.
Antag exempelvis att det finns en variabel som heter lackmus
med standardvärdet neutral
. Baserat på värdet på en annan variabel som heter pH
, lackmus
ändras till antingen sura
när pH < 7 or grundläggande
när pH> 7.
Om värdet av pH
visar sig vara ogiltigt, ett fel kastas. För en tillstånd Så här gäller följande villkorliga uttalanden:
var litmus = "neutral"; var pH; om (pH> 0 && pH<7) litmus = 'acidic'; else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";
Men ovanstående uppsättning uttalanden kastar ett fel när pH
Värdet är 7, vilket inte borde vara fallet.
När pH
är 7, lackmus
bör behålla sitt standardvärde, det vill säga neutral
. Så, för ett sådant fall, lägg till ett villkor när pH
är 7 med ett efterföljande tomt uttalande.
var litmus = "neutral"; var pH; om (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 när pH
är 7, utför tolken inga instruktioner, och lackmus
håller sitt standardvärde, neutral
.
Toma uttalanden kan också användas för att fylla i en array med hjälp av för
slinga.
var ary = []; för (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]
Typiskt a för
loop-satsen följs av ett underuppdrag som består av en enda eller en blockdeklaration (den som bifogas lockiga parenteser) som ska utföras. Genom att använda ett tomt uttalande i stället för underuppgiften kommer tolken inte att ha något att utföra efter varje loop, så bara looping inträffar, och looping-villkoren utförs.
I ovanstående exempel, ary [i ++] = i
exekverar för varje loop-iteration som en del av loopningstillståndet och arrayen ary
får instantiated med värdena på jag
.
2. Den debugger
Påstående
I felsökningsverktyg kan vi lägg till markörer kallad brytpunkter till vilken rad som helst i källkoden till markera raderna från var debuggerverktyget startar debugging.
I JavaScript, den debugger
påstående fungerar på samma sätt som en brytpunkt, förutom att det är läggs direkt i källkoden, snarare än inom ett verktyg. Vilken som helst köra debugger kommer stoppa manuset exekvering när den når debugger
uttalande för att hjälpa dig att felsöka koden.
Kom ihåg att debuggen kommer att bli utlösad bara om manuset körs i ett felsökningsläge, d.v.s. ett felsökningsprogram körs redan över exekveringen av manuset. Om det inte finns något pågående debuggerprogram när du tolkar debugger
uttalande kommer tolken att fortsätta sitt arbete som om inget hände.
Som ett snabbtest kör du följande kod i Codepen, samtidigt som webbläsarens felsökningsverktyg öppnas:
console.log ( 'tesing'); debugger; console.log ("debugging statement");
Du får se en brytpunkt utöver debugger
uttalande som visas nedan i webbläsarens debuggerverktyg.
3. Märkad förklaring
I JavaScript kan du också lägga till etiketter till vissa uttalanden. Genom att göra så kan du Hoppa senare till det märkta uttalandet använder sin etikett i din kod, ungefär som gå till
uttalandet fungerar på några andra språk.
Märkta uttalanden kan endast användas tillsammans med ha sönder
och Fortsätta
uttalanden, som i JavaScript finns det ingen bokstavlig gå till
påstående.
Både ha sönder
och Fortsätta
kan endast användas inom looping-satser, t.ex. för
loop (med ett undantag, ha sönder
kan användas i växla
uttalande också). Så vi kan märka loopar och använda ha sönder
och Fortsätta
att kontrollera deras utförande.
De syntax av märkta uttalanden är enkelt, du behöver bara lägga till namnet på etiketten med följande kolon, som du kan se det i exemplet nedan, där slinga
är namnet på etiketten vi lägger till i för
slinga.
slinga: för (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4
När värdet av jag
är 2, springer körningen tillbaka till slingan istället för att fortsätta och förhindrar följaktligen konsolutmatningen av “2”.
Låt oss nu se ett annat exempel med ha sönder
påstående. Byt bara ut Fortsätta
sökord med ha sönder
i ovanstående exempel, och du kommer märka att istället för att hoppa tillbaka till slingan som det gjorde med Fortsätta
, Slingan slutar / bryter helt och hållet.
slinga: för (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1
Exemplen ovan var ganska enkla så att du snabbt kan förstå hur märkta uttalanden fungerar, men i realtidskodning används etiketter oftare i sammansatta loopar när det är nödvändigt att skilja de olika looparna, som i följande exempel:
slinga: för (var i = 0; i<4; i++) for(var j=0; j<2; j++) if(i===2 && j===1) break loop; console.log(i+"-"+j);
Här, den yttre slingan raster vid värde 2 för variabel jag
och vid 1 för j
, och konsolen returnerar följande utmatning:
0-0 0-1 1-0 1-1 2-0
4. Den med
Påstående
När JS tolkaren kommer över ett okvalificerat namn Det anger inte vilket objekt eller funktion samtalet är kopplat till, det söker i kedjan för något lämpligt föremål eller funktion som samtalet kan referera till.
Genom att använda med
uttalande, vi kan lägg till ett objekt överst i omfångskedjan, och ange vilket objekt samtalet är kopplat till.
I följande exempel kan du se att egenskaperna hos person
objekt kallas med namnen ensam inuti med
påstående.
var person = firstName: "John", efternamn: "Doe", ålder: "18", land: "Greenland"; med person) console.log ("Hej, jag heter" + firstName + "" + lastName + ". Jag är" + ålder + "år gammal och bor i" + land + "."); // "Hej, jag heter John Doe. Jag är 18 år och bor i Grönland."
Jämför hur koden ovan skulle se ut utan att använda med
påstående:
var person = firstName: "John", efternamn: "Doe", ålder: "18", land: "Greenland"; console.log ("Hej, jag heter" + person.firstName + "" + person.lastName + ". Jag är" + person.age + "år gammal och bor i" + person.country + "." ); // "Hej, jag heter John Doe. Jag är 18 år och bor i Grönland."
Du kan se, med
uttalandet kan vara en bra genväg om du arbetar med många egenskaper av samma objekt.
Observera dock att du använder med
påstående i strikt läge är inte tillåtet, eftersom det kan orsaka viss räckvidd förvirring.
Det rekommenderas endast att använda med
uttalande om dess interna uttalanden använder objektet som är associerat med med
uttalande, annars kommer tolken att slösa tid på att titta på föremålet som nämns av med
Först, för alla de okvalificerade egenskapsnamnen som den senare finner inuti med
blockera.