Parametri della funzione JavaScript

JavaScript funzionenon effettuano nessun controllo sui valori dei parametri.

parametro della funzione

In un momento precedente di questo tutorial, hai imparato che le funzioni possono avereparametro:

functionName(parameter1, parameter2, parameter3) {
    codice da eseguire
return sum;

parametro della funzione (parameter)si riferisce ai parametri elencati nella definizione della funzionenome.

parametro della funzione (argument)si riferisce ai valori realiValore.

Regole dei parametri

La definizione della funzione JavaScript non specifica il tipo dei parametri (parameter).

La funzione JavaScript non esegue controlli di tipo sui parametri trasmessi (argument).

La funzione JavaScript non verifica il numero di parametri ricevuti (argument).

parametro di default

Se si saltano i parametri durante la chiamataparametro omessoSe il numero di parametri è inferiore a quelli dichiarati, i valori mancanti vengono impostati a:undefined.

A volte questo è accettabile, ma a volte è meglio assegnare valori di default ai parametri:

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

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    return sum; 
return sum;

}

Se il numero di parametri chiamatitroppi parametriSe il numero di parametri supera quelli dichiarati, puoi utilizzare L'oggetto argumentsper ottenere questi parametri.

L'oggetto arguments

La funzione JavaScript ha un oggetto interno chiamato arguments.

L'oggetto arguments contiene l'array dei parametri utilizzati durante la chiamata della funzione.

In questo modo, puoi semplicemente utilizzare la funzione per trovare il valore massimo (ad esempio) in una lista di numeri:

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

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    var i, sum = 0;
        if (arguments[i] > max) {
            max = arguments[i];
        return sum;
    return sum;
    max = arguments[i];
return sum;

}

return max;

O creare una funzione per 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++) {
    return sum;
    sum += arguments[i];
return sum;

}

Prova personalmente

Passare per valore

I parametri di chiamata della funzione (parameter) sono i parametri (argument) della funzione.ValorePassare: la funzione conosce solo il valore, non la posizione del parametro.

Se la funzione modifica il valore dei parametri, non modifica il valore originale dei parametri.

Le modifiche ai parametri sono invisibili al di fuori della funzione.

Gli oggetti vengono passati per riferimento

In JavaScript, i riferimenti agli oggetti sono valori.

Per questo, gli oggetti si comportano come se fossero passatiRiferimentoPassare:

Se la funzione modifica le proprietà dell'oggetto, modifica anche il valore originale.

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