Funcțiile settimeout și setinterval

setTimeout și setInterval

Ambele funcții iau prima linie a codului pe care doriți să o executați sau funcția pe care doriți să o începeți cu primul argument. Al doilea argument specifică o întârziere în milisecunde. Returnează ambele funcții identificatorul cronometrului creat.







Rețineți că linia de cod este doar un șir încorporat în ghilimele, nu doar codul. Cu toate acestea, nu este recomandat să treci un șir. Acesta rulează în domeniul global, iar scripturile sunt, de regulă, în unele zone locale, drept urmare linia de cod transmisă setTimeout / setInterval nu are acces la datele și funcțiile scriptului. Da, și este incomod să scrieți cod într-o linie, nici măcar nu este evidențiată.

Acțiunea funcțiilor setTimeout și setInterval poate fi anulată prin funcțiile clearTimeout și clearInterval, respectiv trecerea identificatorului temporizatorului dezactivat.







Un exemplu simplu: când plasați cursorul peste un element, trebuie să afișați mesajul în două secunde. Cu toate acestea, dacă în aceste două secunde indicatorul mouse-ului a fost eliminat din element, atunci mesajul nu ar trebui să fie afișat.

Dacă un identificator nevalid este trecut la clearTimeout / clearInterval, nimic nu se va întâmpla. Prin urmare, în exemplul de mai sus, nu puteți verifica dacă cronometrul a funcționat deja și ce se întâmplă în timer.

În schimb, funcțiile setTimeout / setInterval "fac un semn", că trebuie să executați un cod în mai multe milisecunde, iar scriptul continuă să funcționeze așa cum ar trebui.

Din faptul că limba cu un singur fir are o altă consecință - codul nu va fi executat într-un interval de timp strict specificat, dar nu mai devreme decât prin acest interval. Dacă la un moment dat este executat un cod, interpretul va aștepta terminarea acestuia, după care va executa doar codul de pe cronometru.

În Firefox, funcțiile setTimeout și setInterval trec la funcțiile lor de apel invers un singur parametru numeric egal cu numărul de milisecunde pe care apelul pentru funcții a întârziat.

Din păcate, această funcționalitate nu există în alte browsere.







Articole similare

Trimiteți-le prietenilor: