JavaScript Function Parameters

JavaScript funktiongennemgår ingen kontrol af parameterværdier.

funktionparametre

På et tidligere tidspunkt i denne tutorial har du lært, at funktioner kan haveparametre:

functionName(parameter1, parameter2, parameter3) {
    koden der skal udføres
}

funktionparameter (parameter)betyder de værdier, der er listet i funktionens definitionnavn.

funktionargument (argument)betyder de faktiske værdier, der sendes til eller modtages af en funktionVærdi.

Parameterregler

Funktiondefiniseringer definerer ikke datatyper for parametre (parameter).

JavaScript-funktioner udfører ikke typekontrol på de overførte parametre (argumenter).

JavaScript-funktioner kontrollerer ikke antallet af modtagne parametre (argumenter).

parameterstandard

hvis der udelades parametre ved opkald af parametererparameterer er blevet udeladt(mindre end det er blevet deklareret), så sættes de manglende værdier til:undefined.

Nogle gange er dette acceptabelt, men nogle gange er det bedre at specificere standardværdier for parametrene:

Eksempel

function myFunction(x, y) {
    hvis (y === undefined) {
          y = 0;
    } 
}

Prøv det selv

hvis der bruges for mange parametre til funktionkaldfor mange parametre(over forklaring), så kan du bruge arguments-objektetfor at nå disse parametre.

arguments-objektet

JavaScript-funktioner har en indbygget object kaldet arguments.

arguments-objektet indeholder en parameterarray, der bruges ved funktionkald.

På denne måde kan du simpelt bruge funktionen til at finde det højeste tal i en nummerliste (f.eks.):

Eksempel

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        hvis (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}

Prøv det selv

eller opret en funktion til at summere alle inputværdier:

Eksempel

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;
}

Prøv det selv

Parameter passes ved værdi

Parameter (parameter) i funktion kald er funktionens argument (argument).

JavaScript-argumenter gennemVærdiPasser: funktionen kender kun værdien, ikke paramternes placering.

Hvis funktionen ændrer værdien af parametrene, ændrer den ikke det oprindelige værdi.

Ændringer i parametre er usynlige uden for funktionen.

Objekter passes ved reference

I JavaScript er objektreferencer værdier.

Af den grund opfører objekter sig som om de blevReferenceKom med:

Hvis funktionen ændrer objektets egenskaber, ændrer den også det oprindelige værdi.

Ændringer i objektets egenskaber er synlige uden for funktionen.