Frontend/JavaScript

[JavaScript]๋‚ด์žฅํ•จ์ˆ˜ - setTimeout/setInterval/clearTimeout/clearInterval

sukii 2024. 1. 4. 18:36
๋ฐ˜์‘ํ˜•

๐Ÿค”๋‚ด์žฅํ•จ์ˆ˜๋ž€?

๋ธŒ๋ผ์šฐ์ € ๋‚ด๋ถ€์— ์„ ์–ธ๋˜์–ด ์žˆ๋Š” ํ•จ์ˆ˜

 

์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ฅธ ๋ช…๋ น ์‹คํ–‰ ํ•จ์ˆ˜
setTimeout(callback, ms) : ์‹œ๊ฐ„(ms) ๊ฒฝ๊ณผ ํ›„ ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ํ•œ๋ฒˆ๋งŒ ํ˜ธ์ถœํ•˜์—ฌ ์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜ - timeoutId(setTimeout ํ•จ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์‹๋ณ„์ž) ๋ฐ˜ํ™˜
clearTimeout(timeoutId) : setTimeout ํ•จ์ˆ˜์˜ ์‹๋ณ„์ž(timeoutId)๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์•„setTimeout ํ•จ์ˆ˜๋ฅผ ์ทจ์†Œํ•˜๋Š” ํ•จ์ˆ˜
setInterval(callback, ms) : ์‹œ๊ฐ„(ms) ๊ฒฝ๊ณผ๋งˆ๋‹ค ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜ - intervalId(setInterval ํ•จ์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์‹๋ณ„์ž) ๋ฐ˜ํ™˜
clearInterval(intervalId) : setInterval ํ•จ์ˆ˜์˜ ์‹๋ณ„์ž(intervalId)๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์•„ setInterval ํ•จ์ˆ˜๋ฅผ ์ทจ์†Œํ•˜๋Š” ํ•จ์ˆ˜

 

์‹ค์Šต์˜ˆ์ œ๐Ÿ‘ฉ‍๐Ÿ’ป

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>	
	<script type="text/javascript">
	//setInterval ํ•จ์ˆ˜์˜ ์ฒซ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜์—ฌ ์ „๋‹ฌ
	// => setInterval ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ - Callback ํ•จ์ˆ˜
	//๋ฐฉ๋ฒ•1)
    var id=setInterval(function() {
		//์‹œ๊ฐ„ ๊ฒฝ๊ณผ๋งˆ๋‹ค ์‹คํ–‰๋  ๋ช…๋ น ์ž‘์„ฑ
		alert("setInterval ํ•จ์ˆ˜์— ์˜ํ•ด ๋ฐ˜๋ณต ์‹คํ–‰๋˜๋Š” ๋ช…๋ น");
	}, 1000);

	//๋ฐฉ๋ฒ•2)
	var id=setInterval(() => alert("setInterval ํ•จ์ˆ˜์— ์˜ํ•ด ๋ฐ˜๋ณต ์‹คํ–‰๋˜๋Š” ๋ช…๋ น"), 1000);	
	
    //5์ดˆ ๋’ค์— id์— ์ €์žฅ๋œ setInterval ํ•จ์ˆ˜๋ฅผ ์ทจ์†Œ
    //setTimeout์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 1๋ฒˆ๋งŒ ์‹คํ–‰๋จ
	setTimeout(function() {
		clearInterval(id);
	}, 5000);	
	</script>
</body>
</html>

 

๋ฐ˜์‘ํ˜•