Definizioni delle funzioni JavaScript

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 questa esercitazione, si è appreso che le funzioni sono dichiarate con la seguente sintassi:

function nomefunzione(parametri) {
// codice da eseguire
}

le funzioni Dichiarate non sono eseguiti immediatamente. Vengono “salvati per un uso successivo” e verranno eseguiti in seguito, quando vengono richiamati (chiamati).

Esempio

funzione myFunction(a, b) {
restituisce a * b;
}

Provate voi stessi ”

I punti e virgola vengono utilizzati 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 utilizzando un’espressione.

Un’espressione di funzione può essere memorizzata in una variabile:

Esempio

var x = function (a, b) {return a * b};

Provate voi Stessi ”

Dopo un’espressione di funzione è stato memorizzato in una variabile, la variabile può essere usata come una funzione:

Esempio

var x = function (a, b) {return a * b};
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 chiave function.

Le funzioni possono anche essere definite con un costruttore di funzioni JavaScript incorporato chiamato Function().

Esempio

var myFunction = nuova funzione(“a”, “b”, “return a * b”);
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 myFunction = function (a, b) {return a * b};
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 funzioni.

Per questo motivo, le funzioni JavaScript possono essere chiamate prima che vengano dichiarate:

myFunction (5);
funzione myFunction (y) {
ritorno y * y;
}

Le funzioni definite utilizzando 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.

È necessario aggiungere parentesi attorno alla funzione per indicare che si tratta di un’espressione di funzione:

Esempio

(function () {
var x = ” Ciao!!”; / / Invocherò me stesso
})();

Provalo tu stesso ”

La funzione sopra è in realtà una funzione anonima auto-invocante (funzione senza nome).

Le funzioni possono essere utilizzate come valori

Le funzioni JavaScript possono essere utilizzate come valori:

Esempio

funzione myFunction(a, b) {
restituisce a * b;
}
var x = myFunction(4, 3);

Provate voi Stessi ”

funzioni JavaScript può essere utilizzato in espressioni:

Esempio

function miafunzione(a, b) {
return a * b;
}
var x = miafunzione(4, 3) * 2;

Provate voi Stessi ”

Funzioni sono Oggetti

Il 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 richiamata:

Esempio

funzione myFunction(a, b) {
restituisce argomenti.length;
}

Provalo tu stesso ”

Il metodo toString() restituisce la funzione come stringa:

Esempio

funzione myFunction(a, b) {
restituisce a * b;
}
var txt = myFunction.toString ();

Provalo tu stesso ”

Una funzione definita come la proprietà di un oggetto, viene 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

// ES5
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) = > x * y;

Provalo tu stesso ”

Le funzioni freccia non hanno il loro 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

const x = (x, y) = > { return x * y };

Prova tu stesso ”

Le funzioni Freccia non sono supportate in IE11 o versioni precedenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

More: