본문 바로가기

프로그래밍/자바스크립트

[자바스크립트] 함수 : 콜백 함수

1. 콜백 함수

- 함수의 매개변수를 통해 다른 함수의 내부로 전달되는 함수
- 함수 호출시 () 괄호를 쓰면 한번은 함수가 실행되지만 함수가 매개변수에 전달되지 않는다!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>콜백 </title>
<script type="text/javascript">
function callFunctionTenTimes(otherFunction){
    //전발받은 함수 10번 호출
    for(var i=0;i<10;i++){
        otherFunction();//매개 변수로 전달된 함수를 실행
    }
}
 
//선언적 함수
function justFunction(){
    document.write('Happy Day!!<br>');
}
 
//함수 호출
//callFunctionTenTimes(justFunction());//함수를 매개 변수에 전달하는 것이 아니라 함수를 실행하기 때문에
                                       //한 번은 함수가 실행되지만 함수가 매개 변수에 전달되지 않아 
                                       //오류 발생
                                       
callFunctionTenTimes(justFunction);        //()를 뺴고 전달해줘야한다.
 
document.write('----------------<br>');
 
//익명함수 전달 방식
callFunctionTenTimes(function(){
    document.write('Hello World!!<br>');
});
</script>
//출력결과
Happy Day!!
Happy Day!!
Happy Day!!
Happy Day!!
Happy Day!!
Happy Day!!
Happy Day!!
Happy Day!!
Happy Day!!
Happy Day!!
----------------
Hello World!!
Hello World!!
Hello World!!
Hello World!!
Hello World!!
Hello World!!
Hello World!!
Hello World!!
Hello World!!
Hello World!!
</head>
<body>
</body>
</html>
cs