지정한 시간 이후 해당 함수를 실행하도록 설정하는 메소드이다.
파라미터 : 실행할 함수, 시간(ms), 함수에 들어갈 파라미터(생략가능)function showName(name){ console.log(name); } setTimeout(showName, 3000, 'Mike'); // 3초뒤 "Mike" 출력
예정된 setTimeout()를 제거한다.
파라미터 : 실행될 setTimeout의 변수명function showName(name){ console.log(name); } let tId = setTimeout(showName, 3000, 'Mike'); clearTimeout(tId);
지정된 시간마다 설정한 함수를 실행한다.
파라미터 : 실행할 함수, 시간(ms), 함수에 들어갈 파라미터(생략가능)function showName(name){ console.log(name); } const tId = setInterval(showName, 3000, "Tom");
설정된 setInterval()을 제거한다.
파라미터 : 실행될 setInterval의 변수명function showNmae(name){ console.log(name); } const tId = setInterval(showName, 3000, "Tom"); clearInterval(tId);
시간을 0으로 설정한다고 하더라도 바로 지정 함수가 실행되진 않는다.
이유는 현재 실행되고 있는 스크립트가 종료되고 스케줄링 함수가 실행되기 때문이다.
그리고 브라우저는 기본적으로 4ms 의 지연율이 있기 때문에 0으로 설정하더라고
4ms 이상 이후에 실행된다.setTimeout(function(){ console.log(3); }, 0); console.log(1); console.log(2); // 출력 // 1 // 2 // 3