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 adauga imagine in pagina web?
<div> <img> <span>
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS afiseaza textul inclinat?
font-style: italic; text-decoration: underline; font-weight: 500;
#id {
  font-style: italic;
}
Clic pe functia jQuery care ascunde animat un element HTML.
click() hide() show()
$(document).ready(function() {
  $(".a_class").click(function(){ $(this).hide("slow"); });
});
Clic pe functia definita corect in PHP.
fname function() {} function fname() {} function $fname() {};
function fname($a, $b) {
  echo $a * $b;
}
Indicati forma pentru Prezent Perfect Continuu a verbului "to walk" (a merge).
have walked have been walking be walking
I have been walking for 5 hours.
- Merg pe jos de 5 ore.
Indicati Trecutul Nedefinit pentru verbul "ser" (a fi) la forma Yo.
será sería fui
Yo fui entrenador.
- Am fost antrenor.
Instructiuni complementare - Tutorial JavaScript