Instructiuni complementare


Pe langa instructiunile "for" si "while" avem si alte instructiuni 'complementare' care pot fi executate impreuna cu acestea.

1. Instructiunile break si continue

Cand este folosita o instructiune ciclica, aceasta continua sa se repete pana cand conditia este FALSE. Aceasta excutie poate fi schimbata cu ajutorul instructiunilor break si continue, care dau posibilitatea intreruperii ciclului sau iesirea din acesta inainte de a se ajunge la sfarsit (la ultima acolada).


Iata un exemplu din care puteti intelege modul de lucru a lui break:
<script type="text/javascript">
for (x=1; x<10; x++) {
    document.write("<br /> X este "+x);
    if (x==3) {
        break;
    }
}
</script>
Acest script va afisa urmatorul rezultat:
X este 1
X este 2
X este 3
- Dupa cum puteti observa, nu au fost executate toate ciclurile instructiunii "for", conform conditiei (pana cand 'x' ar fi avut valoarea 10), executia se intrerupe cand 'x' are valoarea 3.

Studiati si urmatorul exemplu, in care este folosit continue:
<script type="text/javascript">
for (x=1; x<8; x++) {
    if (x==3 || x==5) {
        continue;
    }
    document.write("<br /> X este "+x);
}
</script>
Acest script va afisa urmatorul rezultat:
X este 1
X este 2
X este 4
X este 6
X este 7
- Observati ca atunci cand 'x' are valoarea 3 sau 5, prin instructiunea "continue" se intrerupe executia codului care urmeaza dupa aceasta (aici "document.write("<br /> X este "+x);") din repetarea curenta, dar se continua cu verificare conditiei instructiunii "for" si executia ciclului.

2. Instructiunea eticheta (label)

Instructiunea label poate fi folosita impreuna cu "break" sau "continue". Aceasta este utilizata atunci cand folosim instructiuni ciclice imbricate, permitand controlul oricarei instructiuni care imbrica alte instructiuni.
Studiind exemplul urmator, puteti intelege mai bine modul de utilizare a unei instructiuni label:

<script type="text/javascript">
loopX:
for (x=1; x<=5; x++) {
    for (y=3; y<8; y++) {
        document.write("X este "+x+" - Y este "+y+" --" );
        if (x==4) {
            break loopX;
        }
    }
    document.write("<br />")
}
</script>
- Am etichetat o serie de instructini ciclice imbricate (aici doua "for") cu eticheta "loopX", care va fi folosita in a doua instructiune "for" imbricata, impreuna cu "break".
Acest script va afisa urmatorul rezultat:
X este 1 - Y este 3 --X este 1 - Y este 4 --X este 1 - Y este 5 --X este 1 - Y este 6 --X este 1 - Y este 7 --
X este 2 - Y este 3 --X este 2 - Y este 4 --X este 2 - Y este 5 --X este 2 - Y este 6 --X este 2 - Y este 7 --
X este 3 - Y este 3 --X este 3 - Y este 4 --X este 3 - Y este 5 --X este 3 - Y este 6 --X este 3 - Y este 7 --
X este 4 - Y este 3 --
- Observati ca desi "break" este inclus in interiorul celei dea doua instructiune "for", prin specificarea lui "loopX", care este eticheta intregului ansamblu de instructiuni imbricate, se va intrerupe executia intregului ansamblu, nu numai instructiunii "for" unde este adaugat "break". Daca eliminati eticheta "loopX" veti vedea diferenta.

3 Instructiunea with

Aceasta comanda se foloseste pentru a evita referirea in mod repetat la un obiect, atunci cand ii accesam metodele sau proprietatile de mai multe ori. Orice metoda sau proprietate dintr-un bloc "with" pe care JavaScript nu o recunoaste va fi asociata cu obiectul specificat pentru acel bloc.
Sintaxa acestei instructiuni este :

- Unde "obiect" specifica referirea la obiect care trebuie folosita, daca aceasta nu exista in blocul "instructiuni". Ajuta mult cand se utilizeaza de mai multe ori functii matematice avansate, prin intermediul obiectului "Math". (Acest obiect va fi explicat mai tarziu).
In exemplul urmator este prezentat modul de folosire a instructiunii "with" :
<script type="text/javascript">
<!--
with(document) {
    write("Salut");
    write("Acum nu mai este necesara folosirea obiectului ca prefix al functiei");
}
//-->
</script>
Acest script va afisa :
Salut
Acum nu mai este necesara folosirea obiectului ca prefix al functiei
In mod normal, pt. a afisa un text folosim sintaxa "document.write("text ...")", dar aici, prin folosirea lui 'with' impreuna cu obiectul "document", nu mai este necesara adaugarea acestuia la metoda "write", astfel se scurteaza codul scriptului.
Instructiuni ciclice - repetitive <<-- Anterior --- Urmator -->> Ferestre Alert Prompt si ...

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a crea o caseta de adaugare text?
<form> <input> <div>
<input type="text" name="a_name" value="val" />
Ce proprietate CSS se foloseste pentru a afisa textul cu majuscule-mici?
display font-variant font-style
h3 {
  font-variant: small-caps;
}
Ce instructiune afiseaza o fereastra cu un mesaj in ea?
for() Date() alert()
var msg = "Viziteaza CoursesWeb.net";
alert(msg);
Indicati codul PHP prin care se obtine IP-ul utilizatorului.
$_SERVER["HTTP_USER_AGENT"] $_SERVER["REMOTE_ADDR"] $_GET[]
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
Cum se traduce cuvantul "actually"?
actual de fapt acum
He actually came on time.
- De fapt, el a venit la timp.
Cum se traduce expresia: "Hace buen tiempo"?
Face timp E vreme frumoasa Drum bun
Hoy hace buen tiempo.
- Astazi e vreme frumoasa.
Instructiuni complementare - Tutorial JavaScript