Partea cea mai interesanta, dar si dificila, in scrierea unui script este proectarea acestuia astfel incat sa ia decizii in timp ce este executat.
Cu ajutorul instructiunilor conditionale putem face programele sa testeze diferite conditii dupa care sa decida modul de executie a datelor.
In Java Script sunt urmatoarele instructiuni conditionale:

1. Instructiunea "if"

Se poate spune ca instructiunea "if" este una din cele mai des folosite.
Forma generala a acestei instructiuni este urmatoarea :

- Unde 'conditie' poate fi orice expresie logica.
Daca rezultatul conditiei este TRUE se executa codul dintre acolade, in caz contrar, cand conditia returneaza FALSE, se trece peste acest cod.
Iata un exemplu practic. Urmatorul script afiseaza "Buna ziua" daca ora este mai mare decat 11.
Se foloseste obiectul Date care determina data curenta (va fi explicat mai amanuntit in alta lectie).
<script type="text/javascript">
<!--
   // daca ora > 11,
   // va scrie în fereastra Buna ziua!
  var d = new Date()
  var time = d.getHours()
  if (time>11) {
    document.write("<b>Buna ziua!</b>")
  }
//-->
</script>
- Am definit variabila 'd' a carei valoare este data curenta, apoi variabila 'time' preia numai ora din variabila 'd'. Conditia din instructiunea "if" verifica daca ora este mai mare decat 11 si in caz adevarat executa comanda dintre acolade, care afiseaza mesajul.
Daca ora este mai mica decat 11 scriptul nu va executa instructiunea dintre acolade.

2. Instructiunea "if ... else"

In exemplul anterior am vazut ca este afisat "Buna ziua!" daca ora > 11 iar in caz contrar nu se intampla nimic.
Folosind instructiunea "if ... else" putem stabili comenzi care sa fie executate cand conditia instructiunii "if" este FALSE.
Forma generala a instructiuni "if ... else" este urmatoarea :

- Unde 'conditie' poate fi orice expresie logica.
Daca rezultatul conditiei este TRUE se executa codul dintre primele acoladele, care apartin de "if", in caz contrar, cand conditia returneaza FALSE, sunt executate comenzile din a doua grupa de acolade (dupa else).
Iata din nou exemplul de mai sus, de asta data folosindu-se instructiunea "if ... else".
Scriptul afiseaza "Buna ziua!" daca ora este mai mare decat 11, in caz contrar afiseaza 'Este ora ...'.
<script type="text/javascript">
<!--
   // daca ora > 11,
   // va scrie în fereastra Buna ziua!
   // Alfel afiseaza "Este ora ..."
  var d = new Date()
  var time = d.getHours()
  if (time>11) {
    document.write("<b>Buna ziua!</b>")
  }
  else {
    document.write("<b>Este ora " +time+ "</b>")
  }
//-->
</script>
- Am definit variabila 'd' a carei valoare este data curenta, apoi variabila 'time' preia ora din variabila 'd'. Conditia din instructiunea "if" verifica daca ora este mai mare decat 11 si in caz adevarat executa comanda dintre primele acolade.
Daca ora este mai mica decat 11 scriptul va executa comanda din grupul de acolade determinat de "else". (Observati folosirea operatorului de concatenare +).

3. Instructiunea switch

Aceasta instructiune e folosita pentru a compara o valoare cu altele dintr-o lista.
Sintaxa generala a instructiuni "switch" este urmatoarea.

- Prima data este evaluata expresia scrisa intre paranteze rotunde, apoi valoarea expresiei este comparata pe rand cu fiecare valoare determinata de "case". Daca se gaseste o identitate se executa codul asociat acelui "case". Apoi se iese din instructiunea "switch".
Daca, parcurgand fiecare "case", nu se gaseste o egalitate, se executa codul de dupa "default".
Prin folosirea lui "break" se opreste parcurgerea corpului instructiunii atunci cand s-a gasit o valoare egala cu 'expresie' si se iese din "switch".
Iata un exemplu de script care afiseaza un mesaj in functie de zilele saptamanii:
<script type="text/javascript">
<!--
  var d = new Date()
  var ziua = d.getDay()
switch (ziua) {
  case 5:
      document.write("Astazi e vineri");
      break
  case 6:
      document.write("Astazi e sambata");
      break
  case 0:
      document.write("Astazi e duminica");
      break
  default:
      document.write("Mai e pana sambata");
  }
//-->
</script>
- Am definit variabila 'd' a carei valoare este data curenta, apoi variabila 'ziua' care preia numarul zilei din variabila 'd' (duminica = 0, luni = 1, ...). Se intra in corpul instructiunii "switch" si se verifica, pe rand, fiecare valoare "case" cu valoarea variabilei 'ziua', cand se gaseste egalitatea se executa comanda asociata acelui 'case' si se iese din "switch".
Daca nici una din valorile 'case' nu este egala cu valoarea variabilei 'ziua', se va executa comanda de dupa 'default', care afiseaza mesajul: "Mai e pana sambata".

Iata inca un exemplu cu "case", de data aceasta foloseste valori de tip sir (string).
<script type="text/javascript">
<!--
  var nume = "Marius";
switch (nume) {
  case "Cristi":
      document.write("Coleg");
      break
  case "Marius":
      document.write("Frate");
      break
  case "Maria":
      document.write("Sora");
      break
  default:
      document.write("Altcineva");
  }
//-->
</script>
Va returna Frate.
Dar in general "case" e recomandat sa fie folosit cu valori numerice.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 adauga o aplicatie externa (SWF, PDF) in pagina web?
<mark> <embed> <canvas>
<embed src="flash_game.swf" width="450" height="350" />
Ce pseudo-element adauga un anume stil la prima linie de text din element?
:first-letter :before :first-line
#id:first-line {
  font-weight: bold;
  color: blue;
}
Clic pe proprietatea obiectului window care preia sau seteaza adresa URL a paginii curente.
window.location window.self window.status
var url = window.location;
alert(url);
Indicati functia PHP care preia continutul unui fisier sau pagina si-l adauga intr-un sir.
fopen() file_put_contents() file_get_contents()
$homepage = file_get_contents("http://www.marplo.net/");
echo $homepage;
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
seven - eight ten - six three - five
This fruit has seven or eight seeds.
- Acest fruct are sapte sau opt seminte.
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
diez - seis siete - ocho tres - cinco
Esta fruta tiene siete u ocho semillas.
- Acest fruct are sapte sau opt seminte.
Instructiuni conditionale

Last accessed pages

  1. Imperfect (52)
  2. Bubbles3 (8520)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (6073)
  4. Mahjong1 (1147)
  5. Curs PHP MySQL, Tutoriale si Scripturi PHP (933)

Popular pages this month

  1. Bubbles3 (3095)
  2. Gramatica limbii engleze - Prezentare Generala (2931)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (2164)
  4. Butterfly Kyodai (2012)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (1827)