Startpagina » Coding » 4 Handige Javascript-verklaringen die u moet weten

    4 Handige Javascript-verklaringen die u moet weten

    JavaScript-verklaringen geven ons de macht om implementeer verschillende soorten logica in onze code. JavaScript biedt ons verschillende functies, die allemaal hun eigen doel en syntaxis hebben. Een van de meest bekende voorbeelden zijn expressieverklaringen, iteratieverklaringen, voorwaardelijke verklaringen en meer

    In de post van vandaag zullen we zien vier minder voorkomende JavaScript-instructies je hebt het misschien nog niet eerder geweten, maar je kunt je JavaScript-kennis verdiepen en je in staat stellen om betere code te schrijven.

    1. Lege verklaring

    In plaats van een JavaScript-verklaring kunt u een lege instructie toevoegen, die is geschreven als een enkele puntkomma ;. Wanneer de JavaScript-interpreter een lege instructie interpreteert, er is geen code uitgevoerd, daarom kunnen ze nuttig zijn om vervang sub-statements die je niet wilt uitvoeren.

    Stel bijvoorbeeld dat er een variabele is genaamd lakmoes met de standaardwaarde neutrale. Gebaseerd op de waarde van een andere variabele genaamd pH, lakmoes wijzigingen in een van beide zure wanneer pH < 7 or basis- wanneer pH> 7.

    Als de waarde van pH blijkt ongeldig te zijn, er is een fout opgetreden. Voor een staat zo zijn de volgende voorwaardelijke uitspraken van toepassing:

     var lakmus = 'neutraal'; var pH; indien (pH> 0 && pH<7) litmus = 'acidic'; else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value"; 

    De bovenstaande set instructies geeft echter een fout wanneer pHDe waarde is 7, wat niet het geval zou moeten zijn.

    Wanneer pH is 7, lakmoes zou zijn standaardwaarde moeten behouden, dat wil zeggen neutrale. Dus, voor een geval als dit, voeg een voorwaarde toe wanneer pH is 7 met een trailing leeg statement.

     var lakmus = 'neutraal'; var pH; indien (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 wanneer pH is 7, de interpreter voert geen instructies uit, en lakmoes behoudt de standaardwaarde, neutrale.

    Lege instructies kunnen ook worden gebruikt om een ​​array te vullen met behulp van de voor lus.

     var ary = []; voor (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]

    Typisch, een voor lusinstructie wordt gevolgd door een subinstructie die is samengesteld uit een enkele of een blokinstructie (de ingesloten in accolades) om uit te voeren. Door een lege instructie te gebruiken in plaats van de subinstructie, heeft de interpreter na elke lus niets om uit te voeren, dus alleen de looping treedt op en de lusvoorwaarden worden uitgevoerd.

    In het bovenstaande voorbeeld, ary [i ++] = i wordt uitgevoerd voor elke lus-iteratie als onderdeel van de lusvoorwaarde en de array ary wordt geïnstantieerd met waarden van ik.

    2. De debugger Uitspraak

    In hulpprogramma's voor foutopsporing kunnen we markeringen toevoegen riep breekpunten naar elke regel in de broncode naar markeer de regels vanaf waar de foutopsporingstool debugging zal starten.

    In JavaScript, de debugger uitspraak werkt op dezelfde manier als een breekpunt, behalve dat het is direct in de broncode toegevoegd, in plaats van in een tool. Elke werkende debugger zal stop de uitvoering van het script wanneer het de debugger verklaring om u te helpen de code te debuggen.

    Vergeet niet dat het debuggen wordt geactiveerd alleen als het script in een foutopsporingsmodus wordt uitgevoerd, d.w.z. een foutopsporingsprogramma loopt al over de uitvoering van het script. Als er geen actueel foutopsporingsprogramma is tijdens het interpreteren van de debugger verklaring, zal de tolk zijn werk voortzetten alsof er niets gebeurd is.

    Voer als snelle test de volgende code uit in Codepen, terwijl de foutopsporingsfunctie van de browser open blijft:

     console.log (tesing); debugger; console.log ('debugging statement');

    Je ziet een breekpunt naast de debugger verklaring zoals hieronder weergegeven in de foutopsporingshulpprogramma van de browser.

    3. Gelabelde verklaring

    In JavaScript kunt u ook labels aan bepaalde instructies toevoegen. Door dit te doen, kunt u later spring naar de gelabelde verklaring gebruik het label in uw code, soort van zoals de ga naar verklaring werkt in sommige andere talen.

    Gelabelde verklaringen kunnen alleen samen met de. Worden gebruikt breken en doorgaan met verklaringen, zoals in JavaScript is er geen letterlijke ga naar uitspraak.

    Beide breken en doorgaan met kan alleen worden gebruikt in lusinstructies, zoals de voor loop (met één uitzondering, breken kan worden gebruikt in de schakelaar verklaring ook). We kunnen dus loops labelen en gebruiken breken en doorgaan met om hun uitvoering te beheersen.

    De syntaxis van gelabelde verklaringen is eenvoudig, u hoeft alleen de naam van het label toe te voegen met een volgende dubbele punt, zoals u kunt zien in het onderstaande voorbeeld, waar lus is de naam van het label dat we toevoegen aan de voor lus.

     loop: for (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4 

    Wanneer de waarde van ik is 2, de uitvoering springt terug naar de lus in plaats van verder te gaan en voorkomt zo de console-uitvoer van “2”.

    Laten we nu een ander voorbeeld bekijken met de breken uitspraak. Vervang gewoon de doorgaan met trefwoord met breken in het bovenstaande voorbeeld, en je zult merken dat in plaats van terug te springen naar de lus zoals het deed met doorgaan met, de lus eindigt / breekt helemaal.

     loop: for (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1 

    De bovenstaande voorbeelden waren vrij eenvoudig, zodat u snel kunt begrijpen hoe gelabelde instructies werken, maar in real-life codering worden labels vaker gebruikt in samengestelde lussen, wanneer het nodig is om de verschillende lussen te onderscheiden, zoals in het volgende voorbeeld:

     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); 

    Hier de buitenste lus breaks op waarde 2 voor variabel ik en op 1 voor j, en de console retourneert de volgende uitvoer:

     0-0 0-1 1-0 1-1 2-0

    4. Het met Uitspraak

    Wanneer de JS-interpreter komt een niet-gekwalificeerde naam tegen die niet specificeert met welk object of functie de oproep geassocieerd is, it doorzoekt de scopeketen voor elk geschikt object of functie waarnaar de oproep verwijst.

    Door de met verklaring, we kunnen voeg een object toe aan de top van de scopeketen, en geef op met welk object de oproep is geassocieerd.

    In het volgende voorbeeld ziet u dat de eigenschappen van de persoon objecten worden aangeroepen met hun naam alleen in de met uitspraak.

     var person = firstName: "John", lastName: "Doe", age: "18", land: "Greenland"; met (persoon) console.log ("Hallo, mijn naam is" + voornaamNaam + "" + achternaamNaam + ". Ik ben" + leeftijd + "jaar oud en woon in" + land + ".");  // "Hallo, mijn naam is John Doe, ik ben 18 jaar oud en woon op Groenland."

    Vergelijk hoe de bovenstaande code eruit zou zien zonder de met uitspraak:

     var person = firstName: "John", lastName: "Doe", age: "18", land: "Greenland"; console.log ("Hallo, mijn naam is" + person.firstName + "" + person.lastName + ". Ik ben" + person.age + "jaar oud en woon in" + person.country + "." ); // "Hallo, mijn naam is John Doe, ik ben 18 jaar oud en woon op Groenland."

    Je kan de ... zien met verklaring kan een goede sneltoets zijn als u met veel eigenschappen van hetzelfde object werkt.

    Merk echter op dat het gebruik van de met uitspraak in strikte modus is niet toegestaan, omdat het enige scoopverwarring kan veroorzaken.

    Ook is het alleen aangeraden om de met verklaring als de interne instructies het object gebruiken dat is gekoppeld aan de met verklaring, anders zal de tolk tijd verspillen aan het kijken naar het object dat wordt genoemd door met ten eerste, voor alle niet-gekwalificeerde eigenschapsnamen die later in de met blok.