생활코딩 자바스크립트 강의를 보며 정리한 포스팅이다.
JavaScript에서는 함수도 객체=값이다.
function cal(func, num){
return func(num)
}
function increase(num){
return num+1
}
function decrease(num){
return num-1
}
alert(cal(increase, 1));
alert(cal(decrease, 1));
함수는 값이 되기도 하기 때문에 다른 함수의 인자가 되기도 한다.
function cal(mode){
var funcs = {
'plus' : function(left, right){return left + right},
'minus' : function(left, right){return left - right}
}
return funcs[mode];
}
alert(cal('plus')(2,1));
alert(cal('minus')(2,1));
리턴값으로도 사용된다.
값으로 전달된 함수는 호출될 수 있기 때문에 이를 이용하면 함수의 동작을 완전히 바꿀 수 있다. 인자로 전달된 함수 sortNumber의 구현에 따라서 sort의 동작방법이 완전히 바뀌게 된다.
이를 콜백이라고 한다.
function sortNumber(a,b){
// 위의 예제와 비교해서 a와 b의 순서를 바꾸면 정렬순서가 반대가 된다.
return b-a;
}
var numbers = [20, 10, 9,8,7,6,5,4,3,2,1];
alert(numbers.sort(sortNumber)); // array, [20,10,9,8,7,6,5,4,3,2,1]
콜백을 제대로 활용한 사례가 AJAX인데 일단 자바스크립트 강의를 다 듣고나서 공부하는걸로...!
'Study > JavaScript' 카테고리의 다른 글
자바스크립트의 객체지향 - 상속 (0) | 2022.08.28 |
---|---|
자바스크립트의 객체지향 (0) | 2022.08.26 |
유효범위(Scope) (0) | 2022.08.25 |
jQuery (0) | 2022.08.24 |
자바스크립트 배열 정리 (0) | 2022.08.22 |