Funzioni JavaScript vengono definite con la function parola chiave.
È possibile utilizzare una dichiarazione di funzione o un'espressione di funzione.
dichiarazioni di funzioni
All'inizio di questo tutorial, si è appreso che le funzioni sono dichiarate con la seguente sintassi:
function functionName ( parameters ) {
code to be executed
}
funzioni dichiarate non vengono eseguite immediatamente. Essi sono "salvate per un uso successivo", e saranno eseguiti in seguito, quando sono invocati (chiamati).
Virgola sono usati per separare le istruzioni JavaScript eseguibili.
Dal momento che una dichiarazione di funzione non è un'istruzione eseguibile, non è comune per terminare con un punto e virgola.
Espressioni di funzione
Una funzione JavaScript può anche essere definito utilizzando un'espressione.
Un'espressione funzione può essere memorizzato in una variabile:
Dopo un'espressione funzione è memorizzata in una variabile, la variabile può essere utilizzata come una funzione:
La funzione di cui sopra è in realtà una funzione anonima (una funzione senza un nome).
Funzioni memorizzati in variabili non hanno bisogno di nomi delle funzioni. Essi sono sempre invocati (chiamata) utilizzando il nome della variabile.
La funzione sopra termina con una virgola perché è una parte di un'istruzione eseguibile.
La Function() Costruttore
Come avete visto negli esempi precedenti, le funzioni JavaScript vengono definite con la function parola chiave.
Le funzioni possono anche essere definiti con un built-in JavaScript funzione di costruzione chiamata Function() .
Esempio
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Prova tu stesso " In realtà non c'è bisogno di utilizzare la funzione di costruzione. L'esempio precedente è lo stesso di scrittura:
Esempio
var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);
Prova tu stesso " La maggior parte del tempo, è possibile evitare di utilizzare la new parola chiave in JavaScript.
Function Hoisting
All'inizio di questo tutorial, si è appreso su "hoisting" .
Sollevamento è il comportamento predefinito di JavaScript del movimento dichiarazioni alla parte superiore dell'ambito corrente.
Sollevamento vale per le dichiarazioni di variabili e di dichiarazioni di funzione.
A causa di questo, le funzioni JavaScript possono essere chiamate prima di essere dichiarati:
myFunction(5);
function myFunction(y) {
return y * y;
}
Funzioni definite utilizzando un'espressione non vengono issate.
Funzioni di auto-Invocare
Le espressioni di funzione possono essere fatte "auto-invocazione".
Un'espressione auto-invocazione è invocato (avviato) automaticamente, senza essere chiamati.
Le espressioni di funzione esegue automaticamente se l'espressione è seguito da () .
Non si può auto-richiamare una dichiarazione di funzione.
È necessario aggiungere parentesi attorno alla funzione per indicare che si tratta di un'espressione di funzione:
La funzione di cui sopra è in realtà una funzione di auto-richiamando anonima (funzione senza nome).
Le funzioni possono essere utilizzati come valori
funzioni JavaScript possono essere utilizzati come valori:
funzioni JavaScript possono essere utilizzati nelle espressioni:
Le funzioni sono oggetti
Il typeof operatore in JavaScript ritorna "function" per le funzioni.
Ma, funzioni JavaScript possono essere meglio descritti come oggetti.
Funzioni JavaScript hanno sia proprietà e metodi.
La proprietà arguments.length restituisce il numero di argomenti ricevuto quando è stata richiamata la funzione:
Il toString() restituisce la funzione come una stringa:
Esempio
function myFunction(a, b) {
return a * b;
}
var txt =
myFunction.toString();
Prova tu stesso " Una funzione definita come la proprietà di un oggetto, viene chiamato un metodo per l'oggetto.
Una funzione progettato per creare nuovi oggetti, viene chiamato un costruttore di oggetto.