320x100
함수의 인수로 함수를 전달하고, 이 인수로 전달한 함수를 "나중에 호출(called back)" 하는 것
말로 풀면 이해가 안 될 수 있으니, 예시를 보도록 하자.
function quest(question, yes, no) {
if (confirm(question)) yes() 동의
else no(); //미동의
}
function showAgree() {
alert( "동의하셨습니다." );
}
function showDisagree() {
alert( "미동의 버튼을 누르셨습니다." );
}
// 사용법: 함수 showOk와 showCancel가 ask 함수의 인수로 전달됨
quest("동의하십니까?", showAgree, showDisagree);
함수 quest의 인수로, 함수 showAgree와 함수 showDisagree는 콜백함수 또는 콜백이라고 한다.
함수를 익명 함수로 표현하면 아래와 같이도 표현할 수 있다.
function quest(question, yes, no) {
if (confirm(question)) yes() 동의
else no(); //미동의
}
// 익명함수(변수에 할당되지 않았기 때문에) quest 바깥에서 접근할 수 없다.
quest(
"동의하십니까?",
function {alert( "동의하셨습니다." );},
function {alert( "미동의 버튼을 누르셨습니다." );}
);
반응형
'Developer > Javascript' 카테고리의 다른 글
var, let, const 제대로 알기 (0) | 2021.09.24 |
---|---|
함수 선언문과 함수 표현식 차이 (0) | 2021.09.23 |
null 병합 연산자 '??'와 '||' 의 차이 (0) | 2021.09.17 |
자주 헷갈리는 null과 undefined 비교 연산자로 알아보기 (0) | 2021.09.17 |
자바스크립트 레퍼런스 타입(참조타입) 이해하기 (0) | 2021.09.07 |