Panoramica delle funzioni ECMAScript

Cos'è una funzione?

Una funzione è un insieme di istruzioni che possono essere eseguite in qualsiasi momento.

La funzione è il nucleo di ECMAScript.

Una funzione è dichiarata in questo modo: chiave word function, nome della funzione, un elenco di parametri e il codice da eseguire messo tra parentesi tonde.

La sintassi di base di una funzione è questa:

function functionName(arg0, arg1, ... argN) {
  statements
}

Ad esempio:

function sayHi(sName, sMessage) {
  alert("Hello " + sName + sMessage);
}

Come chiamare una funzione?

La funzione può essere chiamata tramite il nome più parentesi tonde con i parametri, se ci sono più parametri.

Se vuoi chiamare la funzione dell'esempio sopra, puoi usare il seguente codice:

sayHi("David", " Nice to meet you!")

Chiamare la funzione sayHi() sopra genererà una finestra di avviso. PuoiProva questo esempio personalmente.

Come una funzione restituisce un valore?

La funzione sayHi() non restituisce un valore, ma non è necessario dichiararlo esplicitamente (come si fa in Java con void).

Anche se una funzione ha un valore, non è necessario dichiararlo esplicitamente. La funzione deve solo utilizzare l'operatore return seguito dal valore da restituire.

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
}

Il seguente codice assegna il valore restituito dalla funzione sum a una variabile:

var iResult = sum(1,1);
alert(iResult);	// Output "2"

Un altro concetto importante è che, come in Java, una funzione si ferma immediatamente dopo l'esecuzione di una frase return. Pertanto, il codice dopo la frase return non viene eseguito.

Ad esempio, nella seguente codice, la finestra di avviso alert non viene visualizzata:

function sum(iNum1, iNum2) {
  return iNum1 + iNum2;
  alert(iNum1 + iNum2);
}

Una funzione può avere più istruzioni return, come mostrato di seguito:

function diff(iNum1, iNum2) {
  if (iNum1 > iNum2) {
    return iNum1 - iNum2;
  } else {
    return iNum2 - iNum1;
  }
}

La funzione sopra è utilizzata per restituire la differenza tra due numeri. Per fare questo, è necessario sottrarre il numero più piccolo dal numero più grande, quindi utilizzare l'istruzione if per determinare quale frase return eseguire.

Se una funzione non ha un valore di ritorno, è possibile chiamare l'operatore return senza parametri in qualsiasi momento per uscire dalla funzione.

Ad esempio:

function sayHi(sMessage) {
  if (sMessage == "bye") {
    return;
  }
  alert(sMessage);
}

In questo codice, se sMessage è uguale a "bye", la finestra di avviso non viene mai visualizzata.

Nota:Se una funzione non ha un valore di ritorno chiaro, o chiama una frase return senza parametri, allora il valore che effettivamente restituisce è undefined.