Mire jók a változok?
Helló.
Kezdő vagyok, szóval még tanulgatom. a változók "csak" arra jók hogy adatokat tároljunk benne ugye? pl:
function changeImage() {
var image = document.getElementById('myImage');
if (image.src.match("bulbon")) {
image.src = "pic_bulboff.gif";
} else {
image.src = "pic_bulbon.gif";
}
}
szóval az a lényege hogy pl egy hosszabb metódust tároljunk benne és ne kelljen másodperceket veszíteni a leírásával?
köszönöm előre is a választ.
Változóban sokmindent tárolhatunk.
1) Értéket
Mint egy matematikai függvény esetén pl.
{ változó : feltétel } alapján pl.:
{ x : x = 0 (mod 2) , x > 0 , x < 9 }
Tehát x osztható kettővel maradék nélkül és 0 < x < 9. Így az x a következő értékeket veheti fel: 2, 4, 6, 8. Azaz nem fix érték.
A konstans mint maga a 100 "száz" amit akárhonnan is nézünk, így is úgy is 100-as értékű. Más megfogalmazásban, konyha nyelven úgy kell elképzelni a változót, mint egy dobozt, amibe bármit tehetünk, ami belefér.
Konstans NEM módosítható, míg a változó igen.
Van az úgy nevezett kiterjesztett változó, ami több adat tárolására képes. Más néven tömbök. Azaz egy dimenziójú adat sor, amikkel természetesen rekurzívan is lehet dolgozni, így több dimenziójú tábla is létrehozható. Ami nem korlátozódik a 3D-ig, hanem lehet akár 8D vagy 116 dimenziójú is. (Csak akkora minek?) Így ezekkel játszadozva különböző adatstruktúra hozható ki:
- fák, gráfokon át, lista, halmaz stb... persze ahhoz szükséges az őt kezelő metódusok megírása is.
2) Memória címet (Pointer)
Ez egy adatterületre mutat rá, mint egy Posta cím. E cím mögött nem tudod mi van, ház? kastély? vagy mezőföld? Akkor tudod meg, ha tényleg megnézed. Például egy integer típusú memória címen, nem tudod, hogy az ott tárolt érték, most 2, 8, vagy tán 1000?
A pointer-t másolsz, akkor ténylegesen másolás nem történik. Csak egy címet másolsz le. Ezt olyan, mint egy posta cím másolás. Ha másolatot is odaadod egy másik embernek, ugyan oda lyukad ki, mint te. Ha ő pl. a ház falát lefesti kékre, akkor később te már a kék házfalat fogod látni.
Azaz, ha ponter címmel felülírsz valamit, akkor egy ugyanazt a címet tároló másik változóból is már a felülírt új adatot fogod látni.
3) Függvény tárolás változóban
Ez is egyfajta pointer. Ami a forráskód adatterületre mutat. Egyes nyelvek nem engedik, de vannak amik igen.
Ez is több mindenre alkalmazható, de nem célszerű a használata, mivel bonyolítja a kódot. Bár vannak olyan területek amikor jól jön.
Általában névtelen metódusnak avagy függvénynek hívják. Én személy szerint, akkor használtam ilyet, mikor egy metódusban kellet egy algoritmust függvényszerűen futtatni, de erősen kötődött ahhoz a metódushoz, de nem volt semmi köze az osztályhoz amiben írtam. Így metóduson belül valósítottam meg névtelen függvényként, mivel máshol úgy se használtam volna.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!