English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le funzioni ti permettono di definire un blocco di codice, dargli un nome e eseguirlo ripetutamente secondo necessità.
Puoi definire una funzione utilizzando la parola chiave function o eseguire una funzione utilizzando l'operatore ()
Nella parte iniziale di questo tutorial, hai imparato a utilizzare la seguente sintassiDichiarazioneFunzione:
function nameOfFunction(parameters) { // Comandi da eseguire }
Le funzioni dichiarate non vengono eseguite immediatamente. Le funzioni dichiarate sono solo un nome per la funzione e specificano l'operazione da eseguire quando la funzione viene chiamata.
function greet() { document.write("Hello, World!"); }Prova a vedere‹/›
Nell'esempio sopra, abbiamo dichiarato (definito) una funzione chiamata greet che visualizza un messaggio "Hello, World!". Puoi chiamare questa funzione utilizzando l'operatore () come esempio: greet().
JavaScript ci permette di assegnare una funzione a una variabile e utilizzare quella variabile come funzione. Questo si chiamaEspressione di funzione.
// Le espressioni di funzione possono essere memorizzate in variabili var sum = function(a, b) { return a + b; }; // La variabile può essere utilizzata come funzione var x = sum(100, 8);Prova a vedere‹/›
La funzione sopra è in realtà unaFunzione anonima(funzione senza nome).
Le funzioni memorizzate nelle variabili non necessitano di un nome. Utilizza sempre il nome della variabile per chiamarle.
La funzione sopra è terminata con un punto e virgola perché è parte di una dichiarazione eseguibile.
Nella parte iniziale di questo tutorial, hai imparatoSollevamento JavaScript.
Il sollevamento è il comportamento predefinito di JavaScript che sposta le dichiarazioni all'inizio dell'ambito corrente.
Pertanto, è possibile chiamare la funzione prima della sua dichiarazione JavaScript:
// chiamata della funzione prima della dichiarazione greet(); function greet() { document.getElementById("output").innerHTML = "Hello World"; }Prova a vedere‹/›
Le funzioni definite tramite espressioni non vengono sollevate.
È possibile eseguire una funzione espressiva in modo "autonomo".
L'esecuzione automatica è una funzione JavaScript che viene eseguita immediatamente dopo essere stata definita.
Esecuzione automatica (avvio) di un'espressione autocalcolata, senza doverla chiamare. Anche chiamata IIFE (immediatamente eseguita).
Se una funzione espressiva è seguita da (), essa viene eseguita automaticamente.
(function () { // Comandi da eseguire })();Prova a vedere‹/›
Assegnare un IIFE a una variabile memorizzerà il valore di ritorno della funzione, non la definizione della funzione stessa:
let result = (function () { let name = "Seagull"; return name; })(); // Creazione immediata dell'output result; // "Seagull"Prova a vedere‹/›
Il seguente esempio dimostra come passare parametri a un IIFE (immediatamente eseguito):
(function (x, y) { document.getElementById("output").innerHTML = x + y; )(5, 10);Prova a vedere‹/›
Una funzione callback è una funzione passata come argomento a un'altra funzione e chiamata all'interno di essa per completare un'operazione o un compito.
function greet(name) { alert("Hello " + name); } function processInput(callback) { let name = prompt("Inserisci il tuo nome:"); callback(name); } // Passare la funzione greet all'interno della funzione processInput come argomento processInput(greet);Prova a vedere‹/›
L'esempio sopra è un callback sincrono perché eseguirà immediatamente.
Ma i callback sono solitamente utilizzati per continuare l'esecuzione del codice dopo che un'operazione asincrona è stata completata.
La ricorsione è una tecnica di operazione iterativa che prevede la chiamata ricorsiva della funzione fino a raggiungere il risultato.
Il seguente esempio utilizza la ricorsione per ottenere il factorial di un numero:
var factorial = function(number) { se (number <= 0) { return 1; altrimenti { return (number * factorial(number - 1)); } }; document.getElementById("output").innerHTML = factorial(5);Prova a vedere‹/›
Fino ad ora, abbiamo introdotto come definire una funzione utilizzando la parola chiave function.
Ma, a partire da ECMAScript 6, c'è un metodo aggiornato e più semplice per definire un chiamatoFunzione flettenteespressionefunzione.
Noto a tuttiFunzione flettenteUsa un equalizzatore seguito da un maggiore di per rappresentare: =>.
// Espressione funzionale var sum = function(x, y) { return x + y; } // Funzione flettente const sum = (x, y) => x + y;Prova a vedere‹/›
Le funzioni flettenti non hanno il proprio this. Non sono adatte a definireMetodo oggetto.
Le funzioni flettenti non sono elevate. Devono essere definite prima di essere utilizzatePoi utilizzali di nuovoEssi.
Usare const è più sicuro di usare var, perché l'espressione funzionale è sempre una costante.
Il return può essere omesso solo quando la funzione è una singola istruzione. Pertanto, potrebbe essere una buona abitudine mantenere sempre la loro presenza.
Il return può essere omesso solo quando la funzione è una singola istruzione. Pertanto, è una buona abitudine mantenere sempre la loro presenza.
const sum = (x, y) => { return x + y };Prova a vedere‹/›