>  기사  >  웹 프론트엔드  >  자바스크립트 콜백 함수 활용 예시_javascript 스킬

자바스크립트 콜백 함수 활용 예시_javascript 스킬

WBOY
WBOY원래의
2016-05-16 16:59:06939검색

콜백 함수 개념: 콜백 함수는 함수 포인터를 통해 호출되는 함수입니다. 함수 포인터(주소)를 다른 함수에 매개변수로 전달하고 이 포인터가 가리키는 함수를 호출하는 데 사용되는 경우 이를 콜백 함수라고 합니다.

JS Api는 다음과 같이 설명합니다. 콜백은 다른 함수에 인수로 전달되고 상위 함수가 완료된 후 실행되는 함수입니다.

콜백 함수를 사용하는 이유는 다음과 같습니다. 발신자와 수신자가 분리됩니다. 호출자는 호출 수신자가 누구인지 상관하지 않습니다. 알아야 할 것은 특정 프로토타입과 특정 제한 사항(예: 반환 값 int)이 있는 호출된 함수가 있다는 것뿐입니다.

다음과 같은 예를 생각해 보세요.

프로젝트의 최하위 수준과 최상위 수준이 서로 다른 사람에 의해 완료되었다고 가정해 보겠습니다. 최하위 수준은 데이터 액세스를 담당하고 최상위 수준은 데이터를 담당합니다. 상위가 원할 때 특정 모듈의 데이터를 사용했기 때문에 하위 직원에게 특정 요구 사항에 맞는 데이터를 제공하고 인터페이스를 제공하라고 했습니다.

하위 직원이 말했습니다. 데이터를 표시하고 처리하는 방법은 귀하의 비즈니스입니다. 모든 요구에 맞는 데이터 인터페이스를 제공하는 것은 불가능합니다. 데이터를 얻은 다음 이를 표시하는 기능을 직접 작성하면 양측이 다음과 같은 인터페이스를 제공합니다.

코드 복사 코드는 다음과 같습니다.

//data는 하위 레이어를 나타냅니다. 제공된 데이터 소스, funcName은 상위 수준 호출 함수를 나타냅니다.

function(data, funcName){

1.data는 사례 1에 속하며 하위 계층에서 처리됩니다.

2.data 상황 2에 속하며 상위 수준에서 처리하는 방법은 무엇입니까?

...

}

을 처리하기 위해 상위 레벨에서 제공하는 funcName이 없을 수도 있습니다. 명확히 하기 위해 예를 보고 이해해 보겠습니다. 한번에
코드 복사 코드는 다음과 같습니다.

//데이터 소스가 제공된 값은 학생의 점수인 정수이며, num0이면 상위 계층에서 처리됩니다.

/ /다음 함수를 1.js로 복사합니다.

function f(num,callback){
if(num<0) {
alert("저수준 함수 처리 호출!");
alert("점수는 음수일 수 없습니다. 입력 오류입니다!")
}else if(num==0){
alert("저수준 함수 처리를 호출하세요!")
alert ("학생이 시험을 치르지 않았을 수도 있습니다!");
}else{
alert("고급 함수 처리를 호출하세요!")
callback()
}


코드 복사 코드는 다음과 같습니다.
// 다음 test.html 파일을 1.js와 동일한 디렉터리에 저장합니다.

"http:/ /www.w3.org/TR/html4/loose.dtd" >




제목 없는 문서