JS változó érvényessége egy függvényen belül
Sajnos nem tudtam egész pontos címet kitalálni, ami rövid is.
Vegyük ezt a példát:
function fugi(valtozo) {
if(typeof(valtozo)=="undefined") {
valtozo="alapertek";
}
}
A kérdésem:
Ha a függvény "valtozo" nevű változójának alapértéket adok a függvényen belül a példában látható typeof ellenőrzés után, akkor az alapértéket a var kulcsszóval kell megadnom ahhoz, hogy az adott változó csak a függvényen belül legyen érvényes vagy a javascript felismeri, hogy ugyanaz a változó név, mint ami a függvény egyik értéke lehet és var nélkül is csak a függvényen belül lesz érvényes?
Példával: ha azt akarom, hogy a "valtozo" változó csak a függvényen belül legyen érvényes miután alapértéket adok neki akkor kell a var kulcsszó így:
if(typeof(valtozo)=="undefined") {
VAR valtozo="alapertek";
}
Remélem nem bonyolítottam túl ezt az egyszerű kérdést. Köszi.
(Tudom: próbáljam ki. De talán hasznos lehet másoknak is a válasz.)
■ Vegyük ezt a példát:
function fugi(valtozo) {
if(typeof(valtozo)=="undefined") {
valtozo="alapertek";
}
}
A kérdésem:
Ha a függvény "valtozo" nevű változójának alapértéket adok a függvényen belül a példában látható typeof ellenőrzés után, akkor az alapértéket a var kulcsszóval kell megadnom ahhoz, hogy az adott változó csak a függvényen belül legyen érvényes vagy a javascript felismeri, hogy ugyanaz a változó név, mint ami a függvény egyik értéke lehet és var nélkül is csak a függvényen belül lesz érvényes?
Példával: ha azt akarom, hogy a "valtozo" változó csak a függvényen belül legyen érvényes miután alapértéket adok neki akkor kell a var kulcsszó így:
if(typeof(valtozo)=="undefined") {
VAR valtozo="alapertek";
}
Remélem nem bonyolítottam túl ezt az egyszerű kérdést. Köszi.
(Tudom: próbáljam ki. De talán hasznos lehet másoknak is a válasz.)
nem kell a var kulcsszót
var
kulcsszót használni mert avval felül definiálnád a paraméterben kapott adatot. Ebből következik, hogy amikor beérsz a függvénybe avaltozo
már elérhető, és csak a függvényen belül. Akkor is ha paraméter nélkül hívod meg a függvényt, ekkorundefined
lesz az értéke.Lokális változó
Mivel paraméter, ezért nem kell
var
kulcsszóval deklarálni, sőt, a legtöbb kód ellenőrző eszköz szólni is fog, hogy egy már létező lokális változót akarsz újra deklarálni.