Funzioni Javascript

Javascript è un linguaggio che permette la programmazione utilizzando la scomposizione del programma in più sottoprogrammi (le funzione javascript) per risolvere il problema principale. Abbiamo parlato di questo approccio riferendoci alla metodologia top-down che prevede di scomporre un problema in più sottoproblemi implementabili come sottoprogrammi. (Funzioni javascript).

La sintassi per implementare una nuova funzione in javascript è

1
2
3
4
function nomeFunzione(parametri)
{
    //corpo della funzione
}

Se ad esempio dovessimo implementare una funzione che prende due numeri in input e ne effettua la somma potremmo scrivere:

1
2
3
4
5
function somma (n1, n2)
{
   let s = n1+n2;
   return s;
}

Come possiamo notare la sintassi per implementare una funzione è molto semplificata rispetto a C++ o Java in quanto non è necessario specificare il tipo di ritorno della funzione e i parametri non sono preceduti dal loro tipo.

Chiamata di funzione

Per poter chiamare una funzione bisogna scrivere il nome e inserire nella parentesi gli argomenti da passare:

1
nomeFunzione(argomenti);

Se ad esempio avessimo dovuto chiamare la funzione della somma implementata precedentemente avremmo dovuto scrivere:

1
somma(4,5);

Script “Rettangolo”

Implementiamo uno script che permette di risolvere problemi sul rettangolo ovvero calcola l’area e il suo perimetro.

Per risolvere questo problema come prima cosa proponiamo una scomposizione in due sottoproblemi utilizzando il metodo top-down. Possiamo schematizzare la scomposizione nel seguente modo:

Secondo la scomposizione dobbiamo implementare due funzioni: area e perimetro.

Funzione area

Questa funzione permette di calcolare l’area di un rettangolo avendo le dimensioni dei suoi due lati. Per questo in input prende i due lati del rettangolo e in output ritorna l’area:

1
2
3
4
function area (lato1, lato2)
{
   //corpo della funzione
}

Dopo aver definito l’intestazione della funzione implementiamo la logica ricordando che l’area del rettangolo si calcola moltiplicando fra loro i due lati (base * altezza):

1
2
3
4
5
function area (lato1, lato2)
{
   let a = lato1*lato2;
   return a;
}

Funzione perimetro

1
2
3
4
5
function perimetro (lato1, lato2)
 {
    let p = (lato1*2)+(lato2*2);
    return p;
 }

Script completo

L’implementazione completa dello script è la seguente. Includiamo anche la chiamata alle due funzioni e la stampa dei valori di area e perimetro di un rettangolo che ha lati di dimensione 3 e 5.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<script>
function area (lato1, lato2)
{
  let a = lato1*lato2;
   return a;
}
 
function perimetro (lato1, lato2)
{
    let p = (lato1*2)+(lato2*2);
    return p;
}
 
//Definisco i lati del rettangolo
let l1 = 3;
let l2 = 5;
 
//Chiamo le funzioni per calcolare i valori di perimetro e area
let p = perimetro(l1,l2);
let a = area(l1,l2);
 
//stampo i valori appena calcolati
alert("L'area del rettangolo è "+ a);
alert("Il perimetro del rettangolo è "+p);
</script>

Prova lo script su JSFiddle

Vai a vettori

Torna a javascript