생활코딩 자바스크립트 강의를 보며 정리한 포스팅이다.
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 |