값으로서의 함수라는 주제와 밀접하게 관련

어떠한 함수가 수신하는 인자가 함수인경우..

function sortNumber(a,b) {
	return b-a;
}
var numbers = [20, 10, 9,8,7,6,5,4,3,2,1];
numbers.sort(); // . 앞에 붙는건 객체지. 배열 객체임. 뒤에오는 함수는 빌트인 메소드
// 근데 그냥 이렇게 해버리면 의도대로 되질않아. 문자열로 비교한게 됨. 그래서 sort()에 인자로 비교함수를 전달해줘야함

var sortfunc = function(a, b) {
	return (a - b);
}
// 왼쪽 요소(a)랑 오른쪽 요소(b)랑 비교해서 오름차순으로 비교하고싶다면 a-b를 리턴하고, 내림차순으로 비교하고 싶다면 b-a를 리턴하면댐

console.log(numbers.sort(sortfunc));
// 여기서 sortfunc가 콜백함수가 되는것임. 인자가 되어서 sort라는 함수의 동작방법을 변경시켜주는거야

비동기 콜백

시간이 오래걸리는 작업이 있을 때 이 작업이 완료된 후에 처리해야 할 일을 콜백으로 지정하면 해당 작업이 끝났을때 미리 등록한 작업을 실행할 수 있도록 한다. 다음 코드는 서버 환경에서만 동작한다. jQuery에서 편하게 사용가능