English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base JavaScript

Oggetto JavaScript

Funzione JavaScript

HTML DOM JS

BOM del browser JS

Tutorial di base AJAX

Manuale di riferimento JavaScript

Definizione di funzione JavaScript

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 ()

Dichiarazione di funzione

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().

Espressione di funzione

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.

Sollevamento delle funzioni

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.

Funzione anonima autocalcolata

È 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‹/›

Funzione callback

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.

Ricorsione

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‹/›

Funzione flettente

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‹/›