V tomto kurzu se dozvíte o metodě JavaScript setTimeout () pomocí příkladů.
setTimeout()
Metoda se provede blok kódu po stanovenou dobu. Metoda provede kód pouze jednou.
Běžně používaná syntaxe JavaSet setTimeout je:
setTimeout(function, milliseconds);
Jeho parametry jsou:
- funkce - funkce obsahující blok kódu
- milisekundy - doba, po které je funkce spuštěna
setTimeout()
Metoda vrátí intervalID , což je kladné celé číslo.
Příklad 1: Zobrazení textu jednou za 3 sekundy
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) setTimeout(greet, 3000); console.log('This message is shown first');
Výstup
Tato zpráva se zobrazí jako první Hello world
Ve výše uvedeném programu setTimeout()
metoda volá greet()
funkci po 3000 milisekundách ( 3 sekundy).
Proto program zobrazí text Hello world pouze jednou po 3 sekundách.
Poznámka : Tato setTimeout()
metoda je užitečná, pokud chcete po určité době provést blok jednou. Například zobrazení zprávy uživateli po zadaném čase.
setTimeout()
Metoda vrací interval id. Například,
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) let intervalId = setTimeout(greet, 3000); console.log('Id: ' + intervalId);
Výstup
Id: 3 Ahoj světe
Příklad 2: Čas zobrazení každé 3 sekundy
// 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();
Výstup
17:45:39 17:45:43 PM 17:45:47 PM 17:45:50…
Výše uvedený program zobrazuje čas každé 3 sekundy.
setTimeout()
Způsob volá funkci pouze jednou po uplynutí časového intervalu (zde 3 sekundy).
Avšak ve výše uvedeném programu, protože se funkce sama volá, program zobrazuje čas každé 3 sekundy.
Tento program běží na dobu neurčitou (dokud nedojde paměť).
Poznámka : Pokud potřebujete provést funkci několikrát, je lepší použít setInterval()
metodu.
JavaScript clearTimeout ()
Jak jste viděli ve výše uvedeném příkladu, program provede blok kódu po zadaném časovém intervalu. Chcete-li zastavit toto volání funkce, můžete použít clearTimeout()
metodu.
Syntaxe clearTimeout()
metody je:
clearTimeout(intervalID);
Zde intervalID
je návratová hodnota setTimeout()
metody.
Příklad 3: Použijte metodu 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.');
Výstup
setTimeout je zastaven.
Ve výše uvedeném programu se setTimeout()
metoda používá ke zvýšení hodnoty počítání po 3 sekundách. Avšak clearTimeout()
metoda zastaví volání funkce této setTimeout()
metody. Hodnota počtu se tedy nezvýší.
Poznámka : clearTimeout()
Metodu obvykle používáte, když potřebujete setTimeout()
volání metody zrušit, než k tomu dojde.
Metodě můžete také předat další argumenty setTimeout()
. Syntaxe je:
setTimeout(function, milliseconds, parameter1,… .paramenterN);
Při předání další parametry k setTimeout()
metodě, tyto parametry ( parameter1
, parameter2
bude atd) musí být předán do zadaného funkcí .
Například,
// program to display a name function greet(name, lastName) ( console.log('Hello' + ' ' + name + ' ' + lastName); ) // passing argument to setTimeout setTimeout(greet, 1000, 'John', 'Doe');
Výstup
Dobrý den John Doe
Ve výše uvedeném programu jsou dva parametry John
a Doe
jsou předány setTimeout()
metodě. Tyto dva parametry jsou argumenty, které budou předány funkci (zde greet()
funkce), která je definována uvnitř setTimeout()
metody.
Doporučené čtení: JavaScript async () a await ()