Le funzioni JavaScript sono definite con la parola chiavefunction
.
È possibile utilizzare una dichiarazione di funzione o un’espressione di funzione.
Dichiarazioni di funzione
In precedenza in questo tutorial, si è appreso che le funzioni sono dichiarate con la seguente sintassi:
//code to be executed
}
Le funzioni dichiarate non vengono eseguite immediatamente., Vengono “salvati per un uso successivo” e verranno eseguiti in seguito, quando vengono richiamati (chiamati).
Esempio
return a * b;
}
Provalo tu stesso ”
I punti e virgola sono usati per separare le istruzioni JavaScript eseguibili.
Poiché una dichiarazione di funzione non è un’istruzione eseguibile, non è comune terminarla con un punto e virgola.
Espressioni di funzione
Una funzione JavaScript può anche essere definita usando un’espressione.,
l’espressione di Una funzione può essere memorizzato in una variabile:
Esempio
Provate voi Stessi ”
Dopo un espressione di funzione è stato memorizzato in una variabile, la variabile può essere usata come una funzione:
Esempio
var z = x(4, 3);
Provate voi Stessi ”
La funzione di cui sopra è in realtà una funzione anonima (una funzione senza nome).
Le funzioni memorizzate nelle variabili non necessitano di nomi di funzioni. Sono sempre invocati (chiamati) usando il nome della variabile.,
La funzione sopra termina con un punto e virgola perché fa parte di un’istruzione eseguibile.
Il costruttore Function ()
Come avete visto negli esempi precedenti, le funzioni JavaScript sono definite con la parola chiavefunction
.
Le funzioni possono anche essere definite con un costruttore di funzioni JavaScript incorporato chiamatoFunction()
.,
Esempio
var x = myFunction(4, 3);
Provalo tu stesso ”
In realtà non devi usare il costruttore di funzioni. L’esempio sopra è lo stesso della scrittura:
Esempio
var x = myFunction(4, 3);
Provalo tu stesso ”
La maggior parte delle volte, puoi evitare di usare la parola chiave new
in JavaScript.,
Funzione di sollevamento
In precedenza in questo tutorial, hai imparato a conoscere “sollevamento” (Sollevamento JavaScript).
Il sollevamento è il comportamento predefinito di JavaScript per spostare le dichiarazioni in cima all’ambito corrente.
Il sollevamento si applica alle dichiarazioni di variabili e alle dichiarazioni di funzione.
A causa di ciò, le funzioni JavaScript possono essere chiamate prima di essere dichiarate:
function myFunction(y) {
return y * y;
}
Le funzioni definite usando un’espressione non vengono sollevate.,
Funzioni auto-invocanti
Le espressioni di funzione possono essere fatte “auto-invocanti”.
Un’espressione auto-invocante viene invocata (avviata) automaticamente, senza essere chiamata.
Le espressioni di funzione verranno eseguite automaticamente se l’espressione è seguita da ().
Non è possibile invocare automaticamente una dichiarazione di funzione.
Devi aggiungere parentesi attorno alla funzione per indicare che si tratta di un’espressione di funzione:
Esempio
var x = “Hello!!,”;//Mi invocherò
}) ();
Provalo tu stesso ”
La funzione sopra è in realtà una funzione anonima auto-invocante (funzione senza nome).,
Funzioni Possono Essere Utilizzate come Valori
funzioni JavaScript può essere utilizzato come valori:
Esempio
return a * b;
}
var x = miafunzione(4, 3);
Provate voi Stessi ”
funzioni JavaScript può essere utilizzato in espressioni:
Esempio
return a * b;
}
var x = miafunzione(4, 3) * 2;
Provate voi Stessi ”
Funzioni sono Oggetti
typeof
operatore in JavaScript restituisce “funzione” per le funzioni.,
Ma le funzioni JavaScript possono essere meglio descritte come oggetti.
Le funzioni JavaScript hanno sia proprietà che metodi.
La proprietàarguments.length
restituisce il numero di argomenti ricevuti quando la funzione è stata invocata:
Esempio
restituisce argomenti.length;
}
Provalo tu stesso ”
Il metodotoString()
restituisce la funzione come una stringa:
Esempio
restituisce a * b;
}
var txt = myFunction.,toString ();
Provalo tu stesso ”
Una funzione definita come la proprietà di un oggetto, è chiamato un metodo per l’oggetto.
Una funzione progettata per creare nuovi oggetti, è chiamato un costruttore di oggetti.
Funzioni freccia
Funzioni freccia consente una breve sintassi per la scrittura di espressioni di funzione.
Non hai bisogno della parola chiave function
, della parola chiave return
e delle parentesi graffe.,
Esempio
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Provate voi Stessi ”
Freccia funzioni non hanno un proprio this
.Non sono adatti per la definizione di metodi oggetto.
Le funzioni freccia non vengono issate. Devono essere definiti prima di essere utilizzati.
Usare const
è più sicuro che usare var
, perché un’espressione di funzione è sempre un valore costante.,
È possibile omettere la parola chiave return
e le parentesi graffe solo se la funzione è una singola istruzione. Per questo motivo, potrebbe essere una buona abitudine tenerli sempre:
Esempio
Provalo tu stesso ”
Le funzioni freccia non sono supportate in IE11 o versioni precedenti.