Le funzioni Javascript ( 2 ) | OTHER chapters | |||
I parametri di default di una funzione È possibile definire un valore di default per ciascuno dei parametri dichiarati, nel caso non venisse passato alcun valore con la chiamata di funzione:
Il valore di default verrà utilizzato solo nel caso in cui nella chiamata alla funzione venisse passato un solo argomento:
I parametri rest di una funzione I parametri rest sono i parametri accettati dalla funzione come insieme unico, come vero e proprio array:
In questo primo esempio, la funzione multiply() viene invocata con il parametro multiplier ( 2 ) e con un array di parametri rest ( 1, 2, 3 ). Nel secondo caso, abbiamo multiplier pari a 5 e l'array di parametri rest contenente 8 e 9. Usando l'oggetto:
è possibile chiamare una funzione con più argomenti di quanti ne possa formalmente accettare. Questo è spesso utile se non si sa in anticipo quanti argomenti verranno passati alla funzione. Prendiamo, per esempio, una funzione che unisca più stringhe. Il solo argomento formale previsto per la funzione è una stringa che specifica i caratteri da usare per separare le singole voci ( separator ):
In questo esempio, viene usato l'attributo:
per determinare il numero degli argomenti realmente passati alla funzione, per poi accedere a ciascuno di essi usando l'oggetto arguments. Nella seguente invocazione della funzione myConcat() vengono passati, come argomenti, il separatore ( la virgola ) e tre stringhe testuali ( "red", "orange", "blue" ):
È possibile passare una quantità qualsiasi di argomenti alla funzione myConcat() e la funzione comporrà una stringa testuale contenente tutti gli argomenti passati:
Le funzioni a freccia hanno una sintassi più snella, rispetto alla sintassi delle espressioni di funzione. Dato un array di stringhe testuali:
possiamo calcolare la lunghezza di ciascuna stringa, utilizzando il metodo map, che estrae i singoli membri dell'array ( le singole stringhe ), e la proprietà length dell'oggetto stringa. Salviamo il risultato dell'espressione di funzione nella variabile a2:
oppure, il risultato di una funzione a freccia ( sempre anonima ), nella variabile a3:
Come potete constatare, il risultato non cambia.
|
||||
Le funzioni Javascript ( 2 ) | The .bit guides: original contents |