Funzioni JavaScript
Una funzione JavaScript è un blocco di codice progettato per eseguire un'attività particolare.
Una funzione JavaScript viene eseguita quando "qualcosa" la invoca (la chiama).
Esempio
function myFunction(p1, p2) {
return p1 * p2;
// The function returns the product of p1 and p2
}
Sintassi della funzione JavaScript
Una funzione JavaScript è definita con la function
parola chiave, seguita da un nome , seguito da parentesi () .
I nomi delle funzioni possono contenere lettere, cifre, trattini bassi e segni di dollaro (stesse regole delle variabili).
Le parentesi possono includere i nomi dei parametri separati da virgole:
( parametro1, parametro2, ... )
Il codice da eseguire, dalla funzione, è racchiuso tra parentesi graffe: {}
function
name(parameter1, parameter2, parameter3) {
// code to be executed
}
I parametri della funzione sono elencati tra parentesi () nella definizione della funzione.
Gli argomenti della funzione sono i valori ricevuti dalla funzione quando viene richiamata.
All'interno della funzione, gli argomenti (i parametri) si comportano come variabili locali.
Una funzione è più o meno la stessa di una procedura o di una subroutine, in altri linguaggi di programmazione.
Invocazione di funzione
Il codice all'interno della funzione verrà eseguito quando "qualcosa" invoca (chiama) la funzione:
- Quando si verifica un evento (quando un utente fa clic su un pulsante)
- Quando viene invocato (chiamato) dal codice JavaScript
- Automaticamente (auto-invocato)
Imparerai molto di più sull'invocazione delle funzioni più avanti in questo tutorial.
Funzione Ritorno
Quando JavaScript raggiunge return
un'istruzione, la funzione interrompe l'esecuzione.
Se la funzione è stata invocata da un'istruzione, JavaScript "ritornerà" per eseguire il codice dopo l'istruzione di richiamo.
Le funzioni spesso calcolano un valore restituito . Il valore restituito viene "restituito" al "chiamante":
Esempio
Calcola il prodotto di due numeri e restituisce il risultato:
let x = myFunction(4, 3); // Function is called, return value will end up in x
function myFunction(a, b) {
return a * b;
// Function returns the product of a and b
}
Il risultato in x sarà:
12
Perché le funzioni?
Puoi riutilizzare il codice: definisci il codice una volta e usalo più volte.
È possibile utilizzare lo stesso codice più volte con argomenti diversi, per produrre risultati diversi.
Esempio
Converti Fahrenheit in Celsius:
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
document.getElementById("demo").innerHTML = toCelsius(77);
L'operatore () richiama la funzione
Utilizzando l'esempio precedente, toCelsius
fa riferimento all'oggetto funzione e
toCelsius()
fa riferimento al risultato della funzione.
L'accesso a una funzione senza () restituirà l'oggetto funzione invece del risultato della funzione.
Esempio
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
document.getElementById("demo").innerHTML = toCelsius;
Funzioni usate come valori di variabile
Le funzioni possono essere utilizzate allo stesso modo delle variabili, in tutti i tipi di formule, assegnazioni e calcoli.
Esempio
Invece di usare una variabile per memorizzare il valore di ritorno di una funzione:
let x = toCelsius(77);
let text = "The temperature is " + x + " Celsius";
Puoi usare la funzione direttamente, come valore di variabile:
let text = "The temperature is " + toCelsius(77) + " Celsius";
Imparerai molto di più sulle funzioni più avanti in questo tutorial.
Variabili locali
Le variabili dichiarate all'interno di una funzione JavaScript, diventano LOCALI per la funzione.
È possibile accedere alle variabili locali solo dall'interno della funzione.
Esempio
// code here can NOT use carName
function myFunction() {
let carName = "Volvo";
// code here CAN use carName
}
// code here can NOT use carName
Poiché le variabili locali vengono riconosciute solo all'interno delle loro funzioni, le variabili con lo stesso nome possono essere utilizzate in funzioni diverse.
Le variabili locali vengono create all'avvio di una funzione ed eliminate al completamento della funzione.