V tej vadnici boste s pomočjo primerov spoznali metodo JavaScript setTimeout ().
setTimeout()
Metoda izvede blok kode, po določenem času. Metoda izvede kodo samo enkrat.
Pogosto uporabljena sintaksa JavaScript setTimeout je:
setTimeout(function, milliseconds);
Njegovi parametri so:
- funkcija - funkcija, ki vsebuje blok kode
- milisekunde - čas, po katerem se funkcija izvrši
setTimeout()
Postopek vrne intervalID , ki je pozitivno celo število.
Primer 1: Prikažite besedilo enkrat po treh sekundah
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) setTimeout(greet, 3000); console.log('This message is shown first');
Izhod
To sporočilo je prikazano prvo Hello world
V zgornjem programu setTimeout()
metoda pokliče greet()
funkcijo po 3000 milisekundah ( 3 sekunde).
Zato program prikaže besedilo Hello world le enkrat po 3 sekundah.
Opomba : setTimeout()
Metoda je uporabna, če želite po nekaj časa izvesti blok enkrat. Na primer prikaz sporočila uporabniku po določenem času.
setTimeout()
Metoda vrne interval id. Na primer
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) let intervalId = setTimeout(greet, 3000); console.log('Id: ' + intervalId);
Izhod
Id: 3 Pozdravljeni
Primer 2: Prikaz časa na vsake 3 sekunde
// 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();
Izhod
17:45:39 17:45:43 17:45:47 17:45:50…
Zgornji program prikazuje čas vsake 3 sekunde.
setTimeout()
Metoda pokliče funkcijo le enkrat po časovnem intervalu (tukaj 3 sekunde).
Vendar pa v zgornjem programu, ker se funkcija sama pokliče, program prikaže čas vsake 3 sekunde.
Ta program deluje za nedoločen čas (dokler se ne izprazni pomnilnik).
Opomba : Če morate funkcijo izvesti večkrat, je bolje uporabiti setInterval()
metodo.
JavaScript clearTimeout ()
Kot ste videli v zgornjem primeru, program izvede blok kode po določenem časovnem intervalu. Če želite ustaviti ta klic funkcije, lahko uporabite clearTimeout()
metodo.
Sintaksa clearTimeout()
metode je:
clearTimeout(intervalID);
Tu intervalID
je vrnjena vrednost setTimeout()
metode.
Primer 3: Uporabite metodo 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.');
Izhod
setTimeout se ustavi.
V zgornjem programu se setTimeout()
metoda uporablja za povečanje vrednosti štetja po 3 sekundah. Vendar clearTimeout()
metoda ustavi klic funkcije setTimeout()
metode. Zato se vrednost štetja ne poveča.
Opomba : clearTimeout()
Način običajno uporabljate, kadar morate preklicati setTimeout()
klic metode, preden se zgodi.
setTimeout()
Metodi lahko posredujete tudi dodatne argumente . Sintaksa je:
setTimeout(function, milliseconds, parameter1,… .paramenterN);
Ko se boste peljali dodatne parametre na setTimeout()
način, ti parametri ( parameter1
, parameter2
bo, itd), se prenese na določeno funkcijo .
Na primer
// program to display a name function greet(name, lastName) ( console.log('Hello' + ' ' + name + ' ' + lastName); ) // passing argument to setTimeout setTimeout(greet, 1000, 'John', 'Doe');
Izhod
Pozdravljeni John Doe
V zgornjem programu sta dva parametra John
in Doe
posredovana setTimeout()
metodi. Ta dva parametra sta argumenta, ki se posredujeta funkciji (tukaj greet()
funkcija), ki je definirana znotraj setTimeout()
metode.
Priporočeno branje: JavaScript async () in await ()