JAVASCRIPT 콜백

4987 단어 javascript

간단한 콜백 사용 예



콜백은 코드를 변경하지 않고 함수(또는 메서드)의 기능을 확장하는 방법을 제공합니다. 이 접근 방식은 코드가 변경되지 않아야 하는 모듈(라이브러리/플러그인)에서 자주 사용됩니다.

주어진 값 배열의 합을 계산하는 다음 함수를 작성했다고 가정합니다.

function foo(array) {
 var sum = 0;
 for (var i = 0; i < array.length; i++) {
  sum += array[i];
 }
 return sum;
}


이제 배열의 각 값으로 무언가를 하고 싶다고 가정합니다. alert()를 사용하여 표시합니다. 우리는 할 수 있었다
다음과 같이 foo의 코드를 적절하게 변경합니다.

function foo(array) {
 var sum = 0;
 for (var i = 0; i < array.length; i++) {
  alert(array[i]);
  sum += array[i];
 }
 return sum;
}


그러나 alert() 대신 console.log를 사용하기로 결정했다면 어떻게 될까요? 분명히 foo의 코드를 변경할 때마다
각 값으로 다른 작업을 수행하기로 결정하는 것은 좋은 생각이 아닙니다. 변경할 수 있는 옵션이 있는 것이 훨씬 좋습니다.
foo의 코드를 변경하지 않고 마음. 이것이 바로 콜백의 사용 사례입니다. 우리는 약간만 변하면 된다
foo의 서명과 몸:

function foo(array, callback) {
 var sum = 0;
 for (var i = 0; i < array.length; i++) {
  callback(array[i]);
  sum += array[i];
 }
return sum;
}


이제 foo의 매개변수를 변경하는 것만으로 foo의 동작을 변경할 수 있습니다.

var array = [];
foo(array, alert);
foo(array, function (x) {
 console.log(x);
});

좋은 웹페이지 즐겨찾기