JavaScript funkció paraméterei


Tartalomjegyzék

    Tartalomjegyzék megjelenítése


A JavaScript függvénye nem végez ellenőrzést paraméterértékek (argumentumok).


A függvény paraméterei és argumentumai

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.


Paraméterszabályok

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.


Alapértelmezett paraméterek

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:

Példa

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>



Alapértelmezett paraméterértékek

Az ES6 lehetővé teszi, hogy a funkcióparaméterek alapértelmezett értékei legyenek.

Példa

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>

Funkció nyugalmi paraméter

A rest paraméter (...) lehetővé teszi egy függvény számára, hogy határozatlan számú argumentumot tömbként kezeljen:

Példa

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>


Az érvek objektum

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:

Példa

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:

Példa

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.


Az érveket az érték adja át

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.


Az objektumok átadása referencia útján történik

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).