JavaScript- functieparameters
Een JavaScript function
voert geen controle uit op parameterwaarden (argumenten).
Functieparameters en argumenten
Eerder in deze zelfstudie hebt u geleerd dat functies parameters kunnen hebben :
function functionName(parameter1, parameter2, parameter3) {
// code to be executed
}
Functieparameters zijn de namen die in de functiedefinitie worden vermeld.
Functieargumenten zijn de echte waarden die worden doorgegeven aan (en ontvangen door) de functie.
Parameter Regels
JavaScript-functiedefinities specificeren geen gegevenstypen voor parameters.
JavaScript-functies voeren geen typecontrole uit op de doorgegeven argumenten.
JavaScript-functies controleren het aantal ontvangen argumenten niet.
Standaardparameters:
Als een functie wordt aangeroepen met ontbrekende argumenten (minder dan gedeclareerd), worden de ontbrekende waarden ingesteld op
undefined
.
Soms is dit acceptabel, maar soms is het beter om een standaardwaarde aan de parameter toe te kennen:
Voorbeeld
function myFunction(x, y) {
if (y === undefined) {
y = 2;
}
}
ECMAScript 2015 staat standaard parameterwaarden toe in de functiedeclaratie:
function myFunction(x, y = 2) {
// function code
}
Het argument-object
JavaScript-functies hebben een ingebouwd object dat het argument-object wordt genoemd.
Het argument-object bevat een array van de argumenten die werden gebruikt toen de functie werd aangeroepen (aangeroepen).
Op deze manier kun je eenvoudig een functie gebruiken om (bijvoorbeeld) de hoogste waarde in een lijst met getallen te vinden:
Voorbeeld
x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
let max = -Infinity;
for (let i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
Of maak een functie om alle invoerwaarden op te tellen:
Voorbeeld
x = sumAll(1, 123, 500, 115, 44, 88);
function sumAll() {
let sum = 0;
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
Als een functie wordt aangeroepen met te veel argumenten (meer dan gedeclareerd), kunnen deze argumenten worden bereikt met behulp van het argument-object .
Argumenten worden doorgegeven door waarde
De parameters in een functieaanroep zijn de argumenten van de functie.
JavaScript-argumenten worden doorgegeven op waarde : de functie leert alleen de waarden kennen, niet de locaties van het argument.
Als een functie de waarde van een argument wijzigt, verandert dit niet de oorspronkelijke waarde van de parameter.
Wijzigingen in argumenten zijn niet zichtbaar (weerspiegeld) buiten de functie.
Objecten worden doorgegeven door referentie
In JavaScript zijn objectverwijzingen waarden.
Hierdoor gedragen objecten zich alsof ze door verwijzing worden doorgegeven:
Als een functie een objecteigenschap wijzigt, verandert deze de oorspronkelijke waarde.
Wijzigingen in objecteigenschappen zijn zichtbaar (gereflecteerd) buiten de functie.