Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Funktionin Argumenttien Tehokas Käyttö | Funktiot JavaScriptissä
Johdanto JavaScriptiin

book
Funktionin Argumenttien Tehokas Käyttö

Argumentit ovat funktion muuttujia, joita voit käyttää vain funktion sisällä:

function funcName(a, b) {
console.log("Arg A =", a);
console.log("Arg B =", b);
};

funcName(15, 24);

console.log(a); // This will raise an Error
12345678
function funcName(a, b) { console.log("Arg A =", a); console.log("Arg B =", b); }; funcName(15, 24); console.log(a); // This will raise an Error
copy

Lisäksi, jos nimeät argumentit samoin kuin funktion ulkopuoliset muuttujat, funktio käyttää argumentteja muuttujien sijaan:

let a = 15;

function num(a) {
console.log("(func) a =", a);
};

num(20);

console.log("(global) a =", a);
123456789
let a = 15; function num(a) { console.log("(func) a =", a); }; num(20); console.log("(global) a =", a);
copy

Huomautus

Kun funktio suorittaa loppuun, sen tila katoaa, ja kaikki argumentit menettävät arvonsa.

Argumentit vastaanotetaan peräkkäin:

function numSet(a, b, c) {
console.log([a ** 2, b + 2, c - 10]);
};

numSet(15, 12, 99);
12345
function numSet(a, b, c) { console.log([a ** 2, b + 2, c - 10]); }; numSet(15, 12, 99);
copy

Täyttämättömät argumentit saavat arvon undefined eikä niitä näytetä millään tavalla. Ylimääräisiä argumentteja ei käytetä:

function numSet(a, b, c) {
console.log([a, b, c]);
}

numSet(12, 13);
numSet(15, 12, 13, 15);
123456
function numSet(a, b, c) { console.log([a, b, c]); } numSet(12, 13); numSet(15, 12, 13, 15);
copy

Funktio vastaanottaa arvot argumentteina. Funktion ulkopuoliset muuttujat pysyvät muuttumattomina. Argumentti on itsenäinen arvo funktion sisällä:

let a = 15;

function add(numb) {
numb += 5;
console.log("(func) numb =", numb);
};

add(a);

console.log("(global) a =", a);
12345678910
let a = 15; function add(numb) { numb += 5; console.log("(func) numb =", numb); }; add(a); console.log("(global) a =", a);
copy

Huomautus

Tämä ei toimi samalla tavalla taulukoille, koska taulukko sisältää viittauksen johonkin dataan. Tämä viittaus välitetään funktiolle, joten muutokset funktion sisällä vaikuttavat dataan ulkopuolella. Tätä käsitellään "OOP JavaScriptissä" -kurssilla.

question mark

Mitä seuraava koodi tulostaa konsoliin?

let a = 10;

function update(a) {
a += 5;
console.log("Inside function:", a);
}

update(20);

console.log("Outside function:", a);

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 6. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt