정의 : 함수에 파라미터로 들어가는 함수
용도 : 순차적으로 실행하고 싶을 때 씀
ex1)
setTimeout(function() {
★
}, 1000)
setTimeout이라는 함수가 대표적으로 콜백함수를 인자로 받게 되는 함수인데 위의 함수는 1초 후에 ★이라는 기능을 하는 function()이라는 함수를 실행하라는 의미가 된다.
ex2)
document.querySelector('.button').addEventListener('click', function() {
★})
"addEventListener" 또한 콜백함수를 인자로 받는 함수인데 "button"이라는 클래스명을 지닌 요소를 클릭했을 때, ★이라는 기능을 하는 function()이라는 함수를 실행하라는 의미가 된다.
특징1) 외부에서 만든 함수도 인자로 넣을 수가 있다.
특징2) 콜백함수를 활용하기로 선언하는 시점에서 처음으로 함수명을 작명하고, 함수의 기능을 선언하는 것도 가능하다.
특징3) 아무 함수에나 콜백함수를 인자로 넣을 수 있는 것이 아니라 콜백함수가 필요한 특정 함수들에만 콜백함수를 사용할 수 있다.