Professional Documents
Culture Documents
NF1 A1.3 - Blocs de Control de Flux A Javascript
NF1 A1.3 - Blocs de Control de Flux A Javascript
Índex de continguts
1. Introducció.......................................................................................................2
2. Decisions.........................................................................................................2
2.1. If-else............................................................................................................2
2.2. Condicionals niats.........................................................................................2
2.3. L’operador ?..................................................................................................3
3. Selecció múltiple: switch..................................................................................3
4. Bucles..............................................................................................................4
4.1. Bucle for........................................................................................................4
4.2. Bucle while....................................................................................................5
4.3. Bucle do-while...............................................................................................6
5. Aturament d’un bucle: instruccions break i continue.......................................6
6. Per saber-ne més............................................................................................7
Pàgina 1 de 7
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
1. Introducció.
JavaScript ofereix diferents possibilitats per trencar l'estructura lineal i seqüencial de
l'execució de les línies de instruccions. Amb ajuda de les ramificacions es poden comprovar
determinades condicions i, d'aquesta manera, executar unes o altres ordres. Els bucles ens
permetran repetir un conjunt d'instruccions fins que es compleixi una condició concreta..
2. Decisions.
2.1. If-else.
La instrucció if és permet l'execució d'un bloc o un altre d'ús en funció d'una condició.
if (condició)
{
bloc d'instruccions que s'executen si la condició es compleix
}
else
{
bloc d'instruccions que s'executen si la condició no es compleix
{
Les claus només s'han d'utilitzar quan hi hagi diverses instruccions seguides
pertanyents a la ramificació. Pot existir una instrucció if que no contingui la part else. En aquest
cas, es execució estarien una sèrie d'ordres si es compleix la condició i si això no és així, es
continuaria amb les ordres que estan a continuació del bloc if.
if (condició)
{
bloc d'instruccions que s'executen si la condició es compleix
}
Exemple1:
Comprovar que la variable nom conté el valor Albert:
if(nom == ”Albert”) alert(“El nom és Albert”);
else alert (“El nom no és Albert”);
Exemple2:
Comprovar que la variable nom no conté el valor Albert:
if(nom != ”Albert”) alert(“El nom no és Albert”);
else alert (“El nom és Albert”);
Pàgina 2 de 7
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Exemple1:
Comparar el nombre d’habitants de dues poblacions:
if(habitantsCiutat1 > habitantsCiutat1)
{
alert(“La ciutat ”+nomCiutat1+” té més habitants que la ciutat
“+nomCiutat2);
}
else
{
if (habitantsCiutat1 < habitantsCiutat1)
{
alert(“La ciutat ”+nomCiutat2+” té més habitants que la
ciutat “+nomCiutat1);
}
else
{
alert(“Les ciutats ”+nomCiutat2+” y “+nomCiutat1+” tenen
el mateix nombre d’habitants.”);
}
}
2.3. L’operador ?.
Sintaxis:
(condición) ? verdadero:falso;
La condició pot ser una expressió o qualsevol valor boolean. Sobre la base del resultat
s'executarà a continuació o bé la instrucció continguda en veritable (true) o la continguda en
fals (false).
Exemple:
(avui == “divendres”) ? alert (“És divendres”) : alert (“No és divendres”);
Aquesta estructura permet assignar diferents valors a les variables en funció de una
condició.
Sintaxis:
switch (variable)
{
case valor1:
Pàgina 3 de 7
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Amb aquesta estructura es pot evitar l'ús d'instruccions if niades. Primer es comprova
un valor per veure si concorda amb els blocs case, i si l'equivalència és positiva s'executa la
instrucció corresponent. Si el valor no concorda, la instrucció s'executa en la part default, el
que correspon a la branca else d'una consulta if-else. Aquest últim bloc és opcional.
Exemple:
switch (nom)
{
case “Alberto”:
alert (“Hola “+nom);
alert (“T’estava esperant”);
break;
case “Carmen”:
alert (nom+ “ l’Alberto no ha arribat encara”);
break;
default:
alert (“¿quién eres tu?”);
break;
}
4. Bucles.
Molts cops és necessari que un grup d'ordres es repeteixi diversos cops fins que es
compleixin unes determinades condicions. De realitzar aquest tipus de seqüència d'execució
s'utilitzen unes estructures anomenades bucles.
Quan l'execució d'un programa arriba a un bucle for, el primer que fa és executar la
Inicialització de l'índex i després analitza la condició de prova, si aquesta es compleix
Pàgina 4 de 7
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Sintaxis:
for (Inicialització índex; Condició de prova; Modificació índex)
{
…instruccions…
}
Exemple1:
Escriure un nombre de cops determinat un text en la pàgina web:
for (i=0; i<15; i++)
{
document.write (“<BR>El bucle for s’utilitza en JavaScript”);
}
Exemple2:
Escriure els 60 primers nombres pars:
for (i=0; i<30; i+=2)
{
document.write (“<BR>El nombre es:” + i*2);
}
Exemple3:
Escriure els 60 primers nombres pars inversament:
for (i=30; i<=0; i-=2)
{
document.write (“<BR>El nombre es:” + i*2);
}
Amb el bucle while es poden executar un grup d'instruccions mentre es compleixi una
condició determinada. Si la condició mai es compleix, llavors tampoc s'executa cap instrucció.
Si la condició es compleix sempre, ens veurem immersos en el problema dels bucles infinits,
que poden arribar a col·lapsar el navegador, o fins i tot l'ordinador. Per aquesta raó és molt
important que la condició deixi de complir-se en algun moment.
Sintaxis:
while (Condició)
{
…instruccions…
}
Exemple1:
Escriure els 60 primers nombres pars:
i=2;
While (i<30)
Pàgina 5 de 7
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
La diferència del bucle do-while davant del bucle while resideix en el moment en què
es comprova la condició: el bucle do-while no la comprova fins al final, és a dir, després del
cos del bucle, el que significa que el bucle do-while es recorrerà, una vegada, com a mínim,
encara que no es compleixi la condició.
Sintaxis:
do
{
…instruccions…
}
while (Condició)
Aquesta ordre va ser introduïda en les versions JavaScript 1.2. Això significa que els
programes que contenen aquest bucle només funcionen amb els navegadors de quarta
generació o superiors de Netscape i Microsoft.
Exemple1:
Preguntar per una clau fins que sigui correcte:
clauAux=””;
do
{
clauAux=prompt("Introdueix la clau ","anonim");
}
while (clauAux != "anonim")
document.write ("Has encertat la clau");
En els bucles for i while es poden utilitzar les instruccions break i continue per a
modificar el comportament del bucle. La instrucció break dins d'un bucle fa que aquest
s'interrompi immediatament, encara que no s'hagi executat encara el bucle complet. En arribar
la instrucció, el programa se segueix desenvolupant immediatament a continuació del bucle.
Pàgina 6 de 7
Curs 2017-2018 M06 – Desenvolupament Web En Entorn Client
Exemple1:
Preguntar per una clau i permetre 3 respostes possibles:
var auxClau=””, numCops=0;
Exemple2:
Presentar tots els nombres parells del 0 al 50 excepte els que siguin múltiples de 3
for (i=2;i<=50;i+=2)
{
if ((i%3)= =0) continue;
document.write("<br>"+i)
}
Pàgina 7 de 7