Les funcions ens serveixen per separar grups d'instruccions que fan una tasca concreta i anomenar-ho d'alguna manera. Les funcions es defineixen de la següent manera:
function nom_funcio() {
instruccio1
instruccio2
}
Anem a crear una funció que mostre els números de l'1 al 10, per això li indique un nom a la funció que exprese el que va a fer:
function mostrar_1_al_10() {
for(var i = 1; i <= 10; i++) {
document.write(i, ', ');
}
document.write('<br>');
}
Si executem la pàgina veure'm que no ha fet res, que apareix tot en blanc. Això és perquè la funció és un grup d'accions que no s'executa a no ser que es cride, per tant, per treballar amb funcions necessitem l'anterior que s'anomena definició i després cridar a la funció amb el nom i els parèntesi: mostrar_1_al_10();
Per tant, afegeix després la crida a la funció:
mostrar_1_al_10();
Prova a escriure dos vegades més la cridà a la funció:
mostrar_1_al_10();
mostrar_1_al_10();
mostrar_1_al_10();
Si et fixes, s'ha mostrat 3 vegades perquè hem cridat a la funció 3 vegades, és a dir, l'hem executat 3 vegades.
Ara imaginem que volem mostrar de l'1 fins al número que vulga'm cada vegada. Podem aprofitar la funció però indicar-li una variable perquè l'agafe com al número final en lloc de 10. Per això afegim dins dels parèntesi a la definició la variable que vulgam i a la cridà el valor que necessitem.
function mostrar_1_al(num_final) {
for(var i = 1; i <= num_final; i++) {
document.write(i, ', ');
}
document.write('<br>');
}
mostrar_1_al(5);
mostrar_1_al(10);
mostrar_1_al(15);
Si a més, volem enviar també perquè no comence en l'1 li ho podem indicar de igual manera, afegint una variable a la definició de la funció i el valor a la cridà.
function mostrar_nums(num_inicial, num_final) {
for(var i = num_inicial; i <= num_final; i++) {
document.write(i, ', ');
}
document.write('<br>');
}
mostrar_nums(1, 5);
mostrar_nums(6, 10);
mostrar_nums(4, 15);
Imaginem que tenim una funció que calcula el número de lletres a que té un text. La funció pot rebre el text i hauria de retornar el número de lletres. Per això al final de tot, l'última instrucció ha de ser un return seguit del que volem que reba el programa principal:
function contar_a(text) {
var contador = 0;
for(var i = 0; i <= text.length; i++) {
var lletra = text.charAt(i);
if(lletra == 'a') {
contador++;
}
}
return contador;
}
var text = prompt('Indica el text que vulgues');
document.write('El text és: ', text, '<br>');
var quantitat_a = contar_a(text);
document.write('El text té ', quantitat_a, ' lletres a');
Escriu un programa que tinga una funció que des del numero inicial i final que se li envie com a paràmetre, mostre tots els números que siguen parells. Després crida'l 2 vegades enviant de l'1 al 50 i l'altre del 50 al 100.
Amplia el programa de l'apartat Retornar un valor perquè l'usuari vaja escrivint textos i es vajen contant les a que conté fins que l'usuari indique un text que siga 'ACABAT'.
Agafa els 3 exericicis de l'anterior pàgina i divideix en funcions cada exercici. Després des del programa principal crida a les 3 funcions:
Llegir el que diu l'usuari
Mostrar totes les lletres
Contar les a, e, i o i u que té el text
Mostrar totes les lletres fins que trobe una a