Kezdőoldal » Számítástechnika » Programozás » Javascript? Hogyan müködik ez

Javascript? Hogyan müködik ez

Figyelt kérdés

Márt egy ideje foglalkozom a weboldalakkal, és most egy alap játékot akarok készíteni animációk stb nélkül. Egy saját felugró ablakkal kezdtem, más funkció még nincs meg de bele botlottam egy valami érdekességbe (Lehet nem az) amire kíváncsi vagyok. Minden felugró ablak egymás fölé kerül. Az utolsó a legfrissebb. Mindet magad kitudod "x" -elni de minden 5 másodperceben eltünik a legöregebbik.

Itt a kód: [link]


1. kérdés: Miert van az ha a "timer = setInterval(timer, 5000);" nál magát a timer változót bármi más névre teszem ami nem ugyan az mint a funkció neve akkor anyiszor történik meg egyszerre a funkció amíg minden felugró ablak el nem tünik.


2. Kérdés: a clearInterval(timer) miert nem megy nálam ? Valamit nagyon hibásan csináltam ? Nem szerepel ott a kódban jelenleg mert nem müködött. de így akartam volna: [link]


Köszi


2019. jan. 31. 20:17
 1/7 anonim ***** válasza:
0%
Stackoverflow, prog.hu ezeken gyorsabban kapsz valaszt valszeg
2019. jan. 31. 20:25
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

1) ez csak tipp, de a timer változód valószínűleg egy pointer, így nem tudod felülírni, plusz nem értem, miért adod neki ugyanazt az argomentumot ami a neve is? Azzal ott mit akartál?

Az 1. argumentum az a függvény kell legyen, amit meghív 5 másodpercenként. Változóba meg úgy mentsd, hogy pl. const valtozonev = setInterval(timer, 5000)


2) a timer csak lokálisan létezik, ha nem returnölöd vagy nem globálisan kezeld, nem fogod tudni használni a cclearintervalt, mert a függvény scope-jában nicns benne.

2019. jan. 31. 20:28
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:
#2 ha pl. const v_timer = .... akkor is többször történik meg a timer funkció egymás után, ha console log -olom magát a v_timer változót, annyit kapok aminnyi felugró ablakom van és mindet eltünteti egyszerre :/
2019. jan. 31. 20:38
 4/7 anonim ***** válasza:

2. kérdés: mert a timer változó hatóköre a newPopup() függvényen belül van. Miután az lefutott, a timer() függvényen belül már undefinied lesz az értéke.


Egyszerűsített példa:

[link]

2019. jan. 31. 20:39
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
és ha akár átnevezem is a funciomat és a setIntervalban is atirom uyge akkor is mindet egyszerre tünteti el. neten nem találtam semmit ezzel kapcsolatban
2019. jan. 31. 20:39
 6/7 A kérdező kommentje:
#4 ha nem raksz elé var, let vagy const akkor maśik funkcioban is elérhető. Ha a clearInterval heylett console.log al kiirom akkor nem lessz undefinied
2019. jan. 31. 20:40
 7/7 anonim ***** válasza:

#6:

"4 ha nem raksz elé var, let vagy const akkor maśik funkcioban is elérhető. "

Igen, mert ebben az esetben:

[link]

a változó globálisként viselkedik.

(Egyébként ez ellenjavallt: tessék rendesen deklarálni a változókat.)


Illetve még egy dolog: ne keverd a változók és a függvények neveit, mert abból csak gond adódik:

[link]

2019. jan. 31. 21:00
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!