Funktion Argumenttien Tehokas Käyttö
Argumentit ovat funktion muuttujia, joita voi käyttää vain funktion sisällä:
12345678function funcName(a, b) { console.log("Arg A =", a); console.log("Arg B =", b); }; funcName(15, 24); console.log(a); // This will raise an Error
Jos nimeät argumentit samoiksi kuin funktion ulkopuoliset muuttujat, funktio käyttää argumentteja muuttujien sijaan:
123456789let a = 15; function num(a) { console.log("(func) a =", a); }; num(20); console.log("(global) a =", a);
Huomio
Kun funktion suoritus päättyy, sen tila katoaa ja kaikki argumentit menettävät arvonsa.
Argumentit vastaanotetaan järjestyksessä:
12345function numSet(a, b, c) { console.log([a ** 2, b + 2, c - 10]); }; numSet(15, 12, 99);
Täyttämättömät argumentit saavat arvon undefined eikä niitä näytetä millään tavalla. Ylimääräisiä argumentteja ei käytetä:
123456function numSet(a, b, c) { console.log([a, b, c]); } numSet(12, 13); numSet(15, 12, 13, 15);
Funktio vastaanottaa arvot argumentteina. Funktion ulkopuoliset muuttujat pysyvät muuttumattomina. Argumentti on itsenäinen arvo funktion sisällä:
12345678910let a = 15; function add(numb) { numb += 5; console.log("(func) numb =", numb); }; add(a); console.log("(global) a =", a);
Huom
Tämä ei toimi samalla tavalla taulukoiden kohdalla, koska taulukko sisältää viittauksen tietoon. Tämä viittaus välitetään funktiolle, joten muutokset funktion sisällä vaikuttavat myös ulkopuoliseen dataan. Tätä käsitellään tarkemmin "Olio-ohjelmointi JavaScriptissä" -kurssilla.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain why accessing 'a' outside the function causes an error?
What happens if I pass fewer or more arguments than the function expects?
Can you clarify the difference between arguments and variables outside the function?
Awesome!
Completion rate improved to 2.33
Funktion Argumenttien Tehokas Käyttö
Pyyhkäise näyttääksesi valikon
Argumentit ovat funktion muuttujia, joita voi käyttää vain funktion sisällä:
12345678function funcName(a, b) { console.log("Arg A =", a); console.log("Arg B =", b); }; funcName(15, 24); console.log(a); // This will raise an Error
Jos nimeät argumentit samoiksi kuin funktion ulkopuoliset muuttujat, funktio käyttää argumentteja muuttujien sijaan:
123456789let a = 15; function num(a) { console.log("(func) a =", a); }; num(20); console.log("(global) a =", a);
Huomio
Kun funktion suoritus päättyy, sen tila katoaa ja kaikki argumentit menettävät arvonsa.
Argumentit vastaanotetaan järjestyksessä:
12345function numSet(a, b, c) { console.log([a ** 2, b + 2, c - 10]); }; numSet(15, 12, 99);
Täyttämättömät argumentit saavat arvon undefined eikä niitä näytetä millään tavalla. Ylimääräisiä argumentteja ei käytetä:
123456function numSet(a, b, c) { console.log([a, b, c]); } numSet(12, 13); numSet(15, 12, 13, 15);
Funktio vastaanottaa arvot argumentteina. Funktion ulkopuoliset muuttujat pysyvät muuttumattomina. Argumentti on itsenäinen arvo funktion sisällä:
12345678910let a = 15; function add(numb) { numb += 5; console.log("(func) numb =", numb); }; add(a); console.log("(global) a =", a);
Huom
Tämä ei toimi samalla tavalla taulukoiden kohdalla, koska taulukko sisältää viittauksen tietoon. Tämä viittaus välitetään funktiolle, joten muutokset funktion sisällä vaikuttavat myös ulkopuoliseen dataan. Tätä käsitellään tarkemmin "Olio-ohjelmointi JavaScriptissä" -kurssilla.
Kiitos palautteestasi!