JavaScript (14) # setTimeout / setInterval

μ€€μ˜Β·2022λ…„ 11μ›” 30일
0

JavaScriptλ₯Ό κ³΅λΆ€ν•˜μž..

λͺ©λ‘ 보기
14/20
post-thumbnail

setTimeout

πŸ‘‰ 일정 μ‹œκ°„μ΄ μ§€λ‚œ ν›„ ν•¨μˆ˜λ₯Ό μ‹€ν–‰

1.

function fn(){
  console.log(3);
};

setTimeout(fn, 3000);

이 μ½”λ“œλŠ” 3초 뒀에 둜그λ₯Ό 찍어쀀닀.
λ‘κ°œμ˜ 맀개 λ³€μˆ˜λ₯Ό λ°›λŠ”λ‹€.

  • μ²«λ²ˆμ§ΈλŠ” 일정 μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜
  • λ‘λ²ˆμ§ΈλŠ” μ‹œκ°„μ΄λ‹€. 3초 = 3000

2.

setTimeout(function(){
	console.log(3);
}, 3000);

λ˜λŠ” μ΄λ ‡κ²Œ 직접 ν•¨μˆ˜λ₯Ό μ „λ‹¬ν•˜μ§€ μ•Šκ³ , 직접 μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ„œ μ‚¬μš© ν•  μˆ˜λ„ μžˆλ‹€.

3.


function myName(name){
	console.log(name);
};

setTimeout(myName, 3000, 'μ€€μ˜');

μΈμˆ˜κ°€ λ”°λ‘œ ν•„μš”ν•˜λ‹€λ©΄ μ‹œκ°„λ’€μ— 인수λ₯Ό 쀄 μˆ˜λ„ μžˆλ‹€.

4.

const timeID = function myName(name){
	console.log(name);
};

setTimeout(myName, 3000, 'μ€€μ˜');
clearTimeout(timeID); // 3μ΄ˆκ°€ μ§€λ‚˜κΈ° 전에 ν•¨μˆ˜κ°€ μ‹€ν–‰λΌμ„œ 아무일도 μΌμ–΄λ‚˜μ§€ μ•ŠλŠ”λ‹€!

μ˜ˆμ •λœ μž‘μ—…μ„ μ—†μ• μ£ΌλŠ” ν•¨μˆ˜μ΄λ©°, setTimeout 은 Time Idλ₯Ό λ°˜ν™˜ν•˜λŠ”λ°, 이것을 μ΄μš©ν•˜μ—¬ μŠ€μΌ€μ€„λ§μ„ μ·¨μ†Œν•  수 μžˆλ‹€.


setInterval

πŸ‘‰ 일정 μ‹œκ°„ κ°„κ²©μœΌλ‘œ ν•¨μˆ˜λ₯Ό 반볡

1.

function myName(name){
  console.log(name);
}

const timeID = setInterval(myName, 3000, 'μ€€μ˜');

μ‚¬μš©λ²•μ€ setTimeout ν•¨μˆ˜μ™€ λ™μΌν•˜λ‹€.
ν•œλ²ˆ μ‹€ν–‰ν•˜κ³  λλ‚˜λŠ” κ²ƒκ³ΌλŠ” λ‹€λ₯΄κ²Œ 계속 λ°˜λ³΅μˆ˜ν–‰ν•œλ‹€.
μœ„μ˜ μ½”λ“œλŠ” 3μ΄ˆλ§ˆλ‹€ μ€€μ˜ 이 μ½˜μ†”λ‘œ 찍힐 것이닀.

쀑간에 쀑단이 ν•˜κ³  μ‹Άλ‹€λ©΄,

clearInterval(timeID)

와 같이 λ‹€μŒμ˜ ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•΄μ£Όλ©΄ λœλ‹€.

2.

setTimeout(function(){
  console.log(2)
}, 0);

console.log(1);

μ½˜μ†”μ°½μ— 2 , 1 μˆœμ„œλ‘œ 찍힐 것 κ°™μ§€λ§Œ μ‹€μ œλ‘œλŠ” 1 이 λ¨Όμ € μ°νžŒλ‹€μŒμ— 2 κ°€ 찍힐 것이닀. (μ‹€μ œλ‘œ λ°”λ‘œ μ‹€ν–‰λ˜μ§€ μ•ŠλŠ”λ‹€)

μ΄μœ λŠ” ν˜„μž¬ 싀행쀑인 μŠ€ν¬λ¦½νŠΈκ°€ μ’…λ£Œλœ 이후에 μŠ€μΌ€μ€„λ§ ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ΄λ‹€. 그리고 λΈŒλΌμš°μ €λŠ” 기본적으둜 4ms μ •λ„μ˜ λŒ€κΈ°μ‹œκ°„μ΄ 있기 λ•Œλ¬Έμ΄λ‹€. λ”°λΌμ„œ 0이라고 적어도 λŒ€κΈ°μ‹œκ°„ 이후에 μ½˜μ†”μ΄ 찍힐 수 μžˆλ‹€.

profile
개인 이λ ₯, 포폴 관리 및 기술 λΈ”λ‘œκ·Έ μ‚¬μ΄νŠΈ πŸ‘‰ https://aimzero-web.vercel.app/

0개의 λŒ“κΈ€