JavaScript – 9. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

JavaScript – 9. lekceJavaScript – 9. lekce

 

JavaScript – 9. lekce

Google       Google       20. 8. 2007       27 171×

  • Switch
  • For-in
  • Try, Catch + Throw

Po dlouhé době přicházím s pokračováním kurzu JavaScriptu. V dnešní lekci vám ukážu použití příkazu switch, dále vám osvětlím připojení nového příkazu in do již známé smyčky for. Nakonec vám ukážu využití dvojice příkazů try a catch spolu s třetím příkazem throw.

Switch

Switch je podobný smyčce if/else s jednou odlišností. Umožňuje vybrat a spustit některý z více úseků kódu v závislosti na vstupní hodnotě. Použítí switch vám ukážu na příkladě s vypsáním aktuálního dne v týdnu.


<script language="JavaScript" type="text/javascript">
  var d = new Date() //Date() automaticky zjistí dnešní datum
  datum = d.getDay() //getDay() automaticky zjistí, co je za den
  switch(datum){
    case 0: document.write("Dnes je neděle."); //Týden začíná nedělí
    break;
    case 1: document.write("Dnes je pondělí.");
    break;
    case 2: document.write("Dnes je úterý.");
    break;
    case 3: document.write("Dnes je středa.");
    break;
    case 4: document.write("Dnes je čtvrtek.");
    break;
    case 5: document.write("Dnes je pátek.");
    break;
    case 6: document.write("Dnes je sobota.");
    break;
    default: document.write("Došlo k chybě!");
  }
</script>

Malá ukázka:

Vysvětlivky:

  • case 0 – case vychází z hodnoty, kterou určuje proměnná datum, tedy je-li neděle, hodnota proměnné datum bude 0 a vykoná se příkaz za case s hodnotou 0
  • default – vykoná se, pokud hodnota proměnné neodpovídá ani jedné z hodnost case (v tomto případě by se to nemělo stát)
  • break – tento příkaz už znáte, jakmile skript najde hodnotu case shodnou s hodnotou proměnné, ukončí se cyklus

For-in

Příkaz in vám může pomoci vypsat prvky nějakého pole pomocí smyčky for. Myslím, že jeho užití nejlépe pochopíte z příkladu.


<script language="JavaScript" type="text/javascript">
  var x;
  jmena = new Array();
    jmena[0] = "Alík";   //I takto
    jmena[1] = "Ben";    //se dají
    jmena[2] = "Rolf";   //zapisovat
    jmena[3] = "Meggi";  //prvky pole

  document.write("Jména našich psů jsou: <br />");
  for(x in jmena){
    document.write(jmena[x] + "<br />");
  }
</script>

Myslím, že v tomto kódu je nové akorát in a nic jiného není třeba vysvětlovat.

Try, Catch + Throw

Příkazy try a catch spolu s příkazem throw umožňují například propojení dvou konstrukcí if nebo else if tak, že výstupní hodnota z první smyčky je použiza jako vstupní hodnota do druhé konstrukce. Takže když splníte jednu z podmínek v bloku try (každá z nich má hodnotu throw - určuje příkaz, který bude vykonán), tak výsledek jeho vyhodnocení je odeslán do bloku catch, kde se znovu vyhodnocuje a provádí se konečné výsledné reakce. Více viditelné to je na příkladu.


<script language="JavaScript" type="text/javascript">
  var x = prompt("Zadejte číslo mezi 10 a 20:","");
  try{
    if(x>20){
      throw "ChybaMoc";
    }
    else if(x<10){
      throw "ChybaMalo";
    }
  }
  catch(chyba){
    if(chyba == "ChybaMoc"){
      alert("Vámi zadané číslo je moc velké!");
    }
    if(chyba == "ChybaMalo"){
      alert("Vámi zadané číslo je moc malé!");
    }
  }
</script>

Zde podle mě také není nic nového kromě výše uvedených příkazů, takže není co vysvětlovat.

Úkol

Vytvořte 2 pole prvků (1. pole bude obsahovat 3 mužská jména a 2. pole bude obsahovat 3 ženská jména. Dále okno prompt, kterým získáte hodnotu. Když bude hodnota větší jak 50, vypíše se pole s mužskými jmény, když menší jak 50, vypíše se pole s ženskými jmény (použijte cyklus for s příkazem in a v určování podmínek použijte příkazy try, catch a throw).

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Tomáš BobekAutor je designérem stránek (2D grafika), ovládá jazyky HTML, CSS, PHP, JavaScript a zajímá se o programování v Javě.Krom programujte.com se podílí na projektech maths.cz (jako redaktor a grafik), ceskewebstudio.cz (jako designér) a webber.cz (jako JavaScript scriptař). Ostatní volný čas rád tráví s přáteli nebo sportuje (tenis, nohejbal, hokejbal, závodně fotbal).
Web     Twitter     Facebook    

Nové články

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý