În acest tutorial, veți afla despre metoda JavaScript setTimeout () cu ajutorul exemplelor.
setTimeout()
Metoda execută un bloc de cod după timpul specificat. Metoda execută codul o singură dată.
Sintaxa frecvent utilizată a JavaScript setTimeout este:
setTimeout(function, milliseconds);
Parametrii săi sunt:
- funcție - o funcție care conține un bloc de cod
- milisecunde - timpul după care funcția este executată
setTimeout()
Metoda returneaza un intervalID , care este un întreg pozitiv.
Exemplul 1: Afișați un text o dată după 3 secunde
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) setTimeout(greet, 3000); console.log('This message is shown first');
Ieșire
Acest mesaj este afișat mai întâi Hello world
În programul de mai sus, setTimeout()
metoda apelează greet()
funcția după 3000 de milisecunde ( 3 secunde).
Prin urmare, programul afișează textul Hello world o singură dată după 3 secunde.
Notă : setTimeout()
Metoda este utilă atunci când doriți să executați un bloc de o dată după un timp. De exemplu, afișarea unui mesaj unui utilizator după ora specificată.
setTimeout()
Metoda returneaza id - ul intervalului. De exemplu,
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) let intervalId = setTimeout(greet, 3000); console.log('Id: ' + intervalId);
Ieșire
Id: 3 Hello world
Exemplul 2: Afișarea timpului la fiecare 3 secunde
// program to display time every 3 seconds function showTime() ( // return new date and time let dateTime= new Date(); // returns the current local time let time = dateTime.toLocaleTimeString(); console.log(time) // display the time after 3 seconds setTimeout(showTime, 3000); ) // calling the function showTime();
Ieșire
17:45:39 17:45:43 17:45:47 17:45:50 …
Programul de mai sus afișează timpul la fiecare 3 secunde.
setTimeout()
Metoda solicită funcția doar o singură dată după intervalul de timp (aici 3 secunde).
Cu toate acestea, în programul de mai sus, deoarece funcția se apelează, programul afișează timpul la fiecare 3 secunde.
Acest program rulează la nesfârșit (până când memoria se epuizează).
Notă : Dacă trebuie să executați o funcție de mai multe ori, este mai bine să utilizați setInterval()
metoda.
JavaScript clearTimeout ()
După cum ați văzut în exemplul de mai sus, programul execută un bloc de cod după intervalul de timp specificat. Dacă doriți să opriți acest apel funcțional, puteți utiliza clearTimeout()
metoda.
Sintaxa clearTimeout()
metodei este:
clearTimeout(intervalID);
Aici, intervalID
este valoarea returnată a setTimeout()
metodei.
Exemplul 3: Utilizați metoda clearTimeout ()
// program to stop the setTimeout() method let count = 0; // function creation function increaseCount()( // increasing the count by 1 count += 1; console.log(count) ) let id = setTimeout(increaseCount, 3000); // clearTimeout clearTimeout(id); console.log('setTimeout is stopped.');
Ieșire
setTimeout este oprit.
În programul de mai sus, setTimeout()
metoda este utilizată pentru a crește valoarea numărării după 3 secunde. Cu toate acestea, clearTimeout()
metoda oprește apelul funcției setTimeout()
metodei. Prin urmare, valoarea contorului nu este mărită.
Notă : În general, utilizați clearTimeout()
metoda atunci când trebuie să anulați setTimeout()
apelul metodei înainte ca aceasta să se întâmple.
De asemenea, puteți transmite argumente suplimentare setTimeout()
metodei. Sintaxa este:
setTimeout(function, milliseconds, parameter1,… .paramenterN);
Când treci parametri suplimentari la setTimeout()
metoda, acești parametri ( parameter1
, parameter2
etc.) vor fi transmise la specificată funcția .
De exemplu,
// program to display a name function greet(name, lastName) ( console.log('Hello' + ' ' + name + ' ' + lastName); ) // passing argument to setTimeout setTimeout(greet, 1000, 'John', 'Doe');
Ieșire
Bună, John Doe
În programul de mai sus, doi parametri John
și Doe
sunt transferați la setTimeout()
metodă. Acești doi parametri sunt argumentele care vor fi transmise funcției (aici, greet()
funcție) care este definită în interiorul setTimeout()
metodei.
Lectură recomandată: JavaScript async () și await ()