함수를 값처럼 전달하는 예시, 함수 표현시에 관한 예시..
매개 변수가 3개 있는 함수 ask(question, yes, no)를 작성해보면
question
질문
yes
"Yes"라고 답한 경우 실행되는 함수
no
"No"라고 답한 경우 실행되는 함수
function ask(question, yes, no) {
if (confirm(question)) yes()
else no();
}
function showOk() {
alert( "동의하셨습니다." );
}
function showCancel() {
alert( "취소 버튼을 누르셨습니다." );
}
// 사용법: 함수 showOk와 showCancel가 ask 함수의 인수로 전달됨
ask("동의하십니까?", showOk, showCancel);
와 우선 되게 신박하다. 면대면으로 질문하는거 보다 컨펌창을 띄워 질문을 던지고 답변을 받으면 간단하게 설문조사를 진행할 수 있다.
여기서 함수 ask의 인수, showOK와 showCancel은 콜백 함수 또는 콜백이라고 부른다.
함수를 함수의 인수로 전달하고, 필요하다면 인수로 전달한 그 함수를 나중에 호출 하는것이 콜백함수의 개념입니다.