다른함수(A)의 매개변수로 콜백함수(B)를 전달하면 A가 B의 제어권을 갖게된다.
(특별한 요청(bind)이 없는 한)A에 미리 정해진 방식에 따라 B를 호출한다.
미리 정해진 방식이란 this에 무엇을 바인딩할지, 매개변수에는 어떤 값들을 지정할지, 어떤 타이밍에 콜백을 호출할지 등이다.
콜백은 '함수' 이다.
var arr = [1,2,3,4,5];
var obj = {
vals : [1,2,3],
logValues : function(v,i) {
if(this.vals) {
console.log(this.vals, v, i);
} else {
console.log(this, v, i);
}
}
};
obj.logValues(1,2);
arr.forEach(obj.logValues);