본문 바로가기
WEB/JavaScript

함수, 콜백, 비동기 처리

by 노랑파랑 2016. 10. 12.
반응형

JavaScript에서는 함수가 값이 될 수 있다. 

1. function a() {  } 가 함수 a는 변수 a에 담겨진 값이기 때문이다.

2. 함수는 객체의 값으로 포함될 수 있는데, 이처럼 객체의 속성 값으로 담겨진 함수를 메소드(method)라고 한다.

a = {

b : function() {

}

}

3. 함수는 다른 함수의 인자로 전달 될수도 있다.

함수1                             함수2


4. 함수는 함수의 리턴 값으로도 사용할 수 있다.

함수3


5. 배열의 값으로 사용할 수 있다.

함수4



콜백

* 어떤 함수가 수신하는 인자가 함수인 경우를 콜백이라고 한다.

콜백          콜백2

* 좌측 그림은 배열을 sort메소드를 이용해 정렬했다. 

* 우측 그림 처럼 함수를 인자로 받아 동작이 완전히 뒤바뀐다. 이때 sortNum()을 콜백함수라 한다.

* 즉, 오리지널 함수의 동작을 값을 통해 완전히 바꿀 수 있는 것을 콜백이라고 한다.



비동기 처리

*  "읽기 요청"과 "실제 데이터를 가져올 수 있는 순간"의 일치 정도에 따라 동기적, 비동기적으로 나뉜다.

읽는 측의 순서를 보면, 1. 데이터 읽기 요청

  2. 함수 호출 상태에서 대기

  3. 반환되면서 파라미터에 데이터가 전달.

이렇게 읽기 요청과 동시에 요청이 끝날때까지 다른 어떤 동작도 수행되지 않는 것이 동기적 처리이다.

비동기적 처리는 이벤트 처리기 등 콜백과 같은 것을 두고, 읽기 요청에 대한 처리가 완료되었다는 신호가오면

다른 곳에서 데이터를 가져오거나 하는 처리를 비동기적 처리라고 한다. 







반응형

'WEB > JavaScript' 카테고리의 다른 글

arguments  (0) 2016.10.12
클로저  (0) 2016.10.12
유효범위  (0) 2016.10.12
2016-10-11 공부한것 정리 1  (0) 2016.10.12
2016-10-11 이론 정리 객체 지향  (0) 2016.10.12