JavaScript- funksieparameters
'n JavaScript function
voer geen kontrolering van parameterwaardes (argumente) uit nie.
Funksieparameters en argumente
Vroeër in hierdie tutoriaal het jy geleer dat funksies parameters kan hê :
function functionName(parameter1, parameter2, parameter3) {
// code to be executed
}
Funksieparameters is die name wat in die funksiedefinisie gelys word.
Funksie- argumente is die werklike waardes wat na (en ontvang word deur) die funksie.
Parameter reëls
JavaScript-funksiedefinisies spesifiseer nie datatipes vir parameters nie.
JavaScript-funksies voer nie tipe kontrole uit op die geslaagde argumente nie.
JavaScript-funksies kontroleer nie die aantal argumente wat ontvang is nie.
Verstek parameters
As 'n funksie geroep word met ontbrekende argumente (minder as verklaar), word die ontbrekende waardes op gestel
undefined
.
Soms is dit aanvaarbaar, maar soms is dit beter om 'n verstekwaarde aan die parameter toe te ken:
Voorbeeld
function myFunction(x, y) {
if (y === undefined) {
y = 2;
}
}
ECMAScript 2015 laat verstekparameterwaardes toe in die funksieverklaring:
function myFunction(x, y = 2) {
// function code
}
Die argumente beswaar
JavaScript-funksies het 'n ingeboude objek wat die arguments-objek genoem word.
Die argumentobjek bevat 'n skikking van die argumente wat gebruik is toe die funksie opgeroep (opgeroep) is.
Op hierdie manier kan jy eenvoudig 'n funksie gebruik om (byvoorbeeld) die hoogste waarde in 'n lys getalle te vind:
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 skep 'n funksie om alle invoerwaardes op te som:
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;
}
As 'n funksie opgeroep word met te veel argumente (meer as wat verklaar is), kan hierdie argumente bereik word deur die arguments object .
Argumente word deur waarde deurgegee
Die parameters in 'n funksie-oproep is die funksie se argumente.
JavaScript-argumente word deur waarde deurgegee : Die funksie leer net die waardes ken, nie die argument se liggings nie.
As 'n funksie 'n argument se waarde verander, verander dit nie die parameter se oorspronklike waarde nie.
Veranderinge aan argumente is nie sigbaar (weerspieël) buite die funksie nie.
Voorwerpe word deur verwysing deurgegee
In JavaScript is objekverwysings waardes.
As gevolg hiervan sal voorwerpe optree asof hulle deur verwysing deurgegee word:
As 'n funksie 'n objek-eienskap verander, verander dit die oorspronklike waarde.
Veranderinge aan voorwerp eienskappe is sigbaar (weerspieël) buite die funksie.