venerdì 2 settembre 2011

Javascript - Le Funzioni


Quando alcune sequenze d’istruzioni devono essere utilizzate più volte, per non riscriverle è possibile raggrupparle sotto un’unica etichetta e richiamarle quando servono.
Una funzione è un blocco d’istruzioni al quale è associato un identificativo (etichetta).
Solo quando chiamata, la funzione è eseguita.

Definirle

Si usa la parola: function .
Si compone di :
un nome;
uno o più parametri opzionali;
un corpo;
Si dichiarano nel head e si richiamano nel body.
function nome(parametri){
blocco istruzioni;}

Parametri

Costituiscono le variabili su cui opera una funzione, se sono più di uno, si separano con una virgola.
function nome(par1,par,2)
All’interno della funzione è possibile dichiarare altre variabili locali.
I nomi che si assegnano ai parametri sono come “segnaposto”(parametri formali) che saranno poi sostituiti dai nomi effettivi delle variabili(parametri attuali).
Funtion saluta(nome){
alert(“ciao”+nome);}
Var nomeDaSalutare = “Pippo”;
saluta(nomeDaSalutare);

Chiamata di una funzione

Chiamata o invocazione di una funzione un punto qualsiasi dello script nel quale compare l’indicatore della funzione.
Function scrivi(stringa){ Dichiarazione
document.write(stringa);
var mia_stringa = “Pippo”;
scrivi(mia_stringa); Chiamata

Restituzione dei valori

Le funzioni possono:
svolgere delle azioni;
restituire dei valori (window.prompt);
Per fare sì che una funzione restituisca un valore, si utilizza l’sirtuzione: return.
Function nome(parametri){
var risultato;
blocco istruzioni;
return risultato;}
Quando si richiama una funzione, per catturare il valore restituito, è necessario assegnarlo a una variabile.
Var nome_variabile=nome_funzione(..);
function quadrato(numero){
return numero*numero;}
var num=10;
var num_quadrato=quadrato(num);

Chiamata di una funzione da un’altra funzione

Una funzione A può chiamare la funzione B perché effettui una certa operazione e restituisca un valore.
Function funzione_A(parametri){
var risultato:
blocco istruzioni;
return risultato;}
Funtion funzione_B(parametri){
var valore = funzione_A(…);}

Variabili locali e globali

Se la variabile è stata dichiarata all’interno di una funzione, è locale.
Se la variabile è stata dichiarata fuori da qualsiasi funzione, è globale.(accessibile da ogni funzione).
Se la variabile locale e globale ha lo stesso nome, quella locale prevale e nasconde la variabile globale.

Passaggio dei parametri

L’associazione tra parametri formali e attuali può essere fatta in due modi:
·      Per valore: quando si chiama la funzione e il valore del parametro attuale è passato a quello formale; la funzione modifica solo i dati utilizzati all’interno della funzione e sono modificati solo i parametri formali.
·      Per riferimento: quando si chiama la funzione il parametro attuale e il parametro formale diventa la stessa variabile, con lo stesso indirizzo in memoria, quindi si riferiscono entrambe allo stesso valore. Questo perché in realtà le variabili non contengono il valore, ma il riferimento, ossia l’indirizzo del valore.
La regola fondamentale:
I tipi primitivi (numeri e booleani, stringhe) sono manipolati per valore. Anche
I tipi di riferimento (come oggetti e array) sono passati per riferimento.
Esempio con tipi primitivi:
function prova_valore(par1){
par 1 = par1*5;
document.write(“all’interno della funzione il parametro formale vale:” + par1);}
var n=10;
prova_valore(n) à il suo valore sarà 50
document.write(“il parametro restituito contiene nuovamente”+n); à il suo valore sarà di nuovo 10
Esempio con tipi di riferimento:
var array=new Array(3);
funtion prova_valore(array){
array[1]=array[1]*5;
document.write(array[1]);}
var mia_lista=new Array(5,10,15);
prova_valore(mia_lista);àil suo valore sarà 50
document.write(mia_lista[1]);} à il valore sarà ancora 50

Nessun commento:

Posta un commento