자바스크립트 다지기 - 스케줄링(setTimeout, setInterval), call, apply, bind

Janny·2023년 4월 17일
0

헷갈리는 개념 정리

목록 보기
12/17
post-custom-banner

스케줄링

함수 실행을 시간으로 제어

1. setTimeout

일정 시간이 지난 후 함수를 실행

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

또는

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

인수가 필요하다면 시간 뒤에 적어준다
setTimeout(showName, 3000, 'Mike');
			함수		시간	   인수

clearTimeout: 예정된 작업을 없앤다.

2. setInterval

일정 시간 간격으로 함수를 반복

반복수행. 중간에 중단하려면 clearInterval 을 실행하면 된다.

주의사항

delay = 0 이라고 적어도 바로 실행되는 게 아님.
1) 현재 실행중인 스크립트가 먼저 종료된 이후에 스케줄링 함수를 실행하기 때문
2)브라우저는 기본적으로 4ms정도의 대기시간이 있음

call, apply, bind

자바스크립트에서는 함수 호출 방식과 관계없이 this를 지정할 수 있다.

call 메서드

모든 함수에서 사용할 수 있으며, this를 특정값으로 지정할 수 있다.

apply 메서드

call과 유사하지만, 함수 매개변수를 처리하는 방법이 다름. apply는 매개변수를 배열로 받는다. (call 매개변수를 직접 받음)

헷갈리면 apply는 array를 받는다로 엮어서 외우자

bind 메서드

함수의 this값을 영구히 바꿀 수 있다.

profile
🐣병아리 개발자의 기록을 위한 공간
post-custom-banner

0개의 댓글