A JavaScript függvénye
nem végez ellenőrzést paraméterértékek (argumentumok).
Ebben az oktatóanyagban korábban megtanulta, hogy a függvényeknek lehet paraméterek:
function functionName(parameter1, parameter2, parameter3) {
// code to be executed
}
A függvény paraméterei a felsorolt nevek a függvény meghatározása.
A függvények érvei a valódi értékek átadta (és kapott) a függvénynek.
A JavaScript függvénydefiníciók nem adnak meg adattípusokat a számára paramétereket.
A JavaScript függvények nem hajtanak végre típusellenőrzést a sikeresen érvek.
A JavaScript függvények nem ellenőrzik a kapott argumentumok számát.
Ha egy függvényt hiányzó argumentumokkal (kevesebb, mint a deklarált) hívunk meg, a hiányzó értékek a következőre vannak állítva meghatározatlan
.
Néha ez elfogadható, de néha jobb alapértelmezést hozzárendelni a paraméter értéke:
function myFunction(x, y) {
if (y === undefined) {
y = 2;
}
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<p>Setting a default value to a function parameter.</p>
<p id="demo"></p>
<script>
function myFunction(x, y) {
if (y === undefined) {
y = 2;
}
return x * y;
}
document.getElementById("demo").innerHTML = myFunction(4);
</script>
</body>
</html>
Az ES6 lehetővé teszi, hogy a funkcióparaméterek alapértelmezett értékei legyenek.
Ha y nem passzolt vagy nincs definiálva, akkor y=10.
function myFunction(x, y = 10) { return x + y;
}
myFunction(5);
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Functions</h1>
<h2>Default Parameter Values</h2>
<p>If y is not passed or undefined, then y = 10:</p>
<p id="demo"></p>
<script>
function myFunction(x, y = 10) {
return x + y;
}
document.getElementById("demo").innerHTML = myFunction(5);
</script>
</body>
</html>
A rest paraméter (...) lehetővé teszi egy függvény számára, hogy határozatlan számú argumentumot tömbként kezeljen:
function sum(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
let x = sum(4, 9, 16, 25, 29, 100, 66, 77);
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Functions</h1>
<h2>The Rest Parameter</h2>
<p>The rest parameter (...) allows a function to treat an indefinite number of arguments as an array:</p>
<p id="demo"></p>
<script>
function sum(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
let x = sum(4, 9, 16, 25, 29, 100, 66, 77);
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
A JavaScript függvényeknek van egy beépített objektuma, amelyet argumentumoknak neveznek tárgy.
Az argumentumobjektum a függvény által használt argumentumok tömbjét tartalmazza hívták (meghívták).
Így egyszerűen egy függvény segítségével megkeresheti (például) a legmagasabbat érték egy számlistában:
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;
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Functions</h2>
<p>Finding the largest number.</p>
<p id="demo"></p>
<script>
function findMax() {
let max = -Infinity;
for(let i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
document.getElementById("demo").innerHTML = findMax(4, 5, 6);
</script>
</body>
</html>
Vagy hozzon létre egy függvényt az összes bemeneti érték összegzéséhez:
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;
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Functions</h2>
<p>Sum of all arguments:</p>
<p id="demo"></p>
<script>
function sumAll() {
let sum = 0;
for(let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
document.getElementById("demo").innerHTML = sumAll(1, 123, 500, 115, 44, 88);
</script>
</body>
</html>
Ha egy függvény túl sok argumentummal van meghívva (több, mint a deklarált), ezek az argumentumok az argumentumok objektum használatával érhetők el.
A függvényhívás paraméterei a függvény argumentumai.
A JavaScript argumentumokat érték adja át: csak a függvény az értékeket ismeri meg, nem az érvek helyét.
Ha egy függvény megváltoztatja egy argumentum értékét, akkor nem változtatja meg a paraméterét eredeti érték.
Az argumentumok módosításai nem láthatók (tükröződnek) a függvényen kívül.
A JavaScriptben az objektumhivatkozások értékek.
Emiatt az objektumok úgy viselkednek, mintha hivatkozás: átadnák őket
Ha egy függvény megváltoztat egy objektumtulajdonságot, akkor megváltoztatja az eredeti értéket.
Az objektum tulajdonságainak változásai a függvényen kívül láthatók (tükröződnek).