Definizione delle funzioni JavaScript
- Pagina precedente Riferimento agli oggetti JS
- Pagina successiva Parametri delle funzioni JS
Le funzioni JavaScript sono definite tramite function
parola chiaveDefinire.
Puoi utilizzare la funzionedichiarazioneo funzioneEspressione。
dichiarazione della funzione
In questo tutorial, in precedenza, hai imparato la sintassi seguentedichiarazioneFunzione:
function nomeDellaFunzione(parametri) { Codice da eseguire }
Le funzioni dichiarate non vengono eseguite direttamente. Vengono "salvate per un uso futuro" e vengono eseguite in futuro, quando vengono chiamate.
Esempio
function myFunction(a, b) { return a * b; }
Il punto e virgola viene utilizzato per separare le statement eseguibili JavaScript.
Poiché la funzionedichiarazioneNon è una statement eseguibile e non è comune terminarla con un punto e virgola.
espressione di funzione
Le funzioni JavaScript possono anche utilizzareEspressioneper definire.
L'espressione della funzione può essere salvata in una variabile:
Esempio
var x = function (a, b) {return a * b};
Dopo aver salvato l'espressione della funzione in una variabile, questa variabile può essere utilizzata come funzione:
Esempio
var x = function (a, b) {return a * b}; var z = x(4, 3);
la funzione sopra è in realtà unaFunzione anonima(funzione senza nome)。
Le funzioni salvate in una variabile non necessitano di un nome. Vengono sempre chiamate utilizzando il nome della variabile.
La funzione sopra è terminata con un punto e virgola perché fa parte di una parte eseguibile della statement.
costruttore Function()
Come visto nei precedenti esempi, le funzioni JavaScript sono definite tramite function
definito da una parola chiave.
Le funzioni possono anche essere definite tramite un nome Function()
funzione costruttrice integrata di JavaScript per definire.
Esempio
var myFunction = new Function("a", "b", "return a * b"); var x = myFunction(4, 3);
in realtà non hai bisogno dell'espressione costruttore di funzione. Ecco come può essere scritto anche l'esempio sopra:
Esempio
var myFunction = function (a, b) {return a * b}; var x = myFunction(4, 3);
in molti casi, puoi evitare di utilizzare in JavaScript new
parola chiave.
sollevamento delle funzioni
nella lezione di questo tutorial, hai già imparato "sollevamento" (hoisting).
Il sollevamento è il modo in cui JavaScriptdichiarazionecomportamento predefinito di spostamento al vertice dell'ambito corrente.
Il sollevamento (hoisting) viene applicato alle dichiarazioni di variabili e funzioni.
Ecco perché le funzioni JavaScript possono essere chiamate prima della loro dichiarazione:
myFunction(5); function myFunction(y) { return y * y; }
Le funzioni definite con espressioni non vengono sollevate.
funzione autoesecutiva
L'espressione di funzione può essere utilizzata come "autoesecutiva".
l'espressione autoesecutiva viene chiamata automaticamente (iniziata), senza effettuare la chiamata.
L'espressione di funzione viene eseguita automaticamente, se esiste ()
。
Non puoi eseguire una dichiarazione di funzione in modo autoesecutivo.
Devi aggiungere parentesi intorno alla funzione per indicare che è un'espressione di funzione:
Esempio
(function () { var x = "Hello!!"; // Mi chiamerò io stesso })();
la funzione sopra è in realtà unafunzione autoeseguita anonima(funzione senza nome)。
funzione come valore
le funzioni possono essere utilizzate come valori:
Esempio
function myFunction(a, b) { return a * b; } var x = myFunction(4, 3);
le funzioni JavaScript possono essere utilizzate in espressioni:
Esempio
function myFunction(a, b) { return a * b; } var x = myFunction(4, 3) * 2;
le funzioni sono oggetti
nelle funzioni di JavaScript typeof
l'operatore restituirà "function
"。
ma è meglio descrivere le funzioni JavaScript come oggetti.
tutte le funzioni JavaScript hannoproprietàemetodo。
arguments.length
restituirà il numero di argomenti ricevuti quando la funzione viene chiamata:
Esempio
function myFunction(a, b) { return arguments.length; }
toString()
metodo che restituisce una stringa come funzione:
Esempio
function myFunction(a, b) { return a * b; } var txt = myFunction.toString();
Le funzioni definite come proprietà degli oggetti sono chiamate metodi degli oggetti.
Le funzioni progettate per creare nuovi oggetti sono chiamate costruttori di oggetti (costruttori di oggetti).
Funzioni arrow
Le funzioni arrow permettono di scrivere espressioni di funzione con una sintassi breve.
Non è necessario il nome della funzione, la parola chiave return e le parentesi graffe.
Esempio
// ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
Le funzioni arrow non hanno il proprio this. Non sono adatte per definire metodi degli oggetti.
Le funzioni arrow non vengono elevate. Devono essere definite prima di essere utilizzate.
Usare const è più sicuro rispetto a var perché l'espressione della funzione è sempre un valore costante.
Se la funzione è un singolo comando, è possibile saltare la parola chiave return e le parentesi graffe. Pertanto, mantenere queste cose potrebbe essere una buona abitudine:
Esempio
const x = (x, y) => { return x * y };
IE11 e versioni precedenti non supportano le funzioni arrow.
- Pagina precedente Riferimento agli oggetti JS
- Pagina successiva Parametri delle funzioni JS