Gli ultimi tutorial di sviluppo web
 

JavaScript Function Parameters


Una funzione JavaScript non esegue alcun controllo sui valori dei parametri (argomenti).


Function Parameters e Arguments

All'inizio di questo tutorial, hai imparato che le funzioni possono avere parameters :

functionName ( parameter1, parameter2, parameter3 ) {
    code to be executed
}

Function parameters sono i nomi elencati nella definizione della funzione.

Function arguments sono i veri valori passati a (e ricevuti da) la funzione.


Regole dei parametri

definizioni di funzioni JavaScript non specificano i tipi di dati per i parametri.

funzioni JavaScript non eseguono tipo il controllo su argomenti passati.

funzioni JavaScript non controllano il numero di argomenti ricevuti.


Impostazioni predefinite dei parametri

Se una funzione viene chiamata con argomenti mancanti (meno di quanto dichiarato), i valori mancanti sono impostati: non definito

A volte questo è accettabile, ma a volte è meglio assegnare un valore predefinito per il parametro:

Esempio

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    }
}
Prova tu stesso "

Se una funzione viene chiamata con un numero eccessivo di argomenti (più di quanto dichiarato), questi argomenti possono essere raggiunti utilizzando gli argomenti oggetto.


L'oggetto arguments

funzioni JavaScript hanno un built-in oggetto chiamato gli argomenti oggetto.

L'oggetto argomento contiene una serie di argomenti utilizzati quando la funzione è stata chiamata (richiamato).

In questo modo si può semplicemente utilizzare una funzione per trovare (per esempio) il valore più alto in un elenco di numeri:

Esempio

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}
Prova tu stesso "

O creare una funzione di sommare tutti i valori di input:

Esempio

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}
Prova tu stesso "

Gli argomenti sono passati per valore

I parametri, in una chiamata di funzione, sono argomenti della funzione.

Argomenti JavaScript sono passati per valore: La funzione ottiene solo di conoscere i valori, non posizioni dell'argomento.

Se una funzione modifica il valore di un argomento, non cambia il valore originale del parametro.

Modifiche a argomenti non sono visibili (riflesso) al di fuori della funzione.


Gli oggetti vengono passati per riferimento

In JavaScript, riferimenti a oggetti sono valori.

A causa di questo, gli oggetti si comportano come se fossero passati per riferimento:

Se una funzione modifica una proprietà dell'oggetto, cambia il valore originale.

Le modifiche alle proprietà degli oggetti sono visibili (riflesso) al di fuori della funzione.