나중에 수행할 것을 예약해 두는 함수이며 함수 안에서 실행하는 또 다른 함수라고도 표현할 수 있다.
function nice(su, f1, f2) {
if(su %2 === 0)
f1();
else
f2();
};
nice라는 함수를 선언하고 그 함수의 매개변수 값으로 su, f1, f2가 들어있다.
이때 if문을 통하여 su를 2로 나눈 값이 0이라면
f1( )함수를 실행하고, 그 외의 값들은 f2( )를 실행하라는 뜻인데
이때 nice함수 안에 들어간 매개변수인 f1,과 f2가 callback함수가 된다.
(nice 함수 안에서 실행하는 또 다른 함수가 f1, f2이기 때문)
function ask(question, yes, no) {
if(confirm(question))
yes(); // ask에 의해서 수행되는 yes, no 함수들은 callback function이다!!!
else
no();
}
여기서도 ask라는 함수를 먼저 정의하고
그 함수를 실행하면 if문을 통해 yes( )와 no( ) 함수들을 실행하게 되는데
이때 yes, no 모두 callback 함수!!