2009-03-05 5 views

답변

12

다음에서 소개를 확인하십시오 : http://jibbering.com/faq/faq_notes/closures.html. 클로저가 함수와 어떻게 관련되는지 더 잘 이해하는 데 도움이 될 수 있습니다. http://www.javascriptkit.com/javatutors/closures2.shtml

기본적 콜백 함수 포인터 같다 : 여기

는 폐쇄 예들의 집합이다. 클로저가되는 비트는 함수가 변수가있는 컨텍스트에서 변수에 액세스하는 것과 같습니다. 그런 경우 함수는 변수의 현재 값을 사용합니다 (변수를 복사하는 것과 반대). 예 4.

+0

아, 그래, 프레드 씨가 그걸 정리합니다. 고맙습니다! :) – leeand00

4

폐쇄 here의 좋은 정의가있다 :

A "클로저"(그 변수를 결합하는 환경과 함께 무료 변수를 가질 수있는 표현 (일반적 기능)은 "그 닫는다 ").

실제로는 숨겨진 변수가있는 함수입니다.

콜백은 더 높은 수준의 아이디어입니다. 일반적으로 나중에 호출 할 의도로 전달되는 함수입니다. 자바 스크립트에서 클로저는 종종 콜백으로 사용됩니다.

7

다른 정의를 참조하십시오

Callback -

콜백이 다른 코드에 인수로 전달되는 실행 코드입니다.

Closure -

클로저는 하나 개 이상의 바인딩 변수를 포함하는 환경에서 평가 함수이다. 호출되면 함수는 이러한 변수에 액세스 할 수 있습니다.

-1

나는 둘이 어떻게 관련되어 있는지 보지 못합니까? 클로저 (closure)는 지역 상태의 일부를 일종의 함수로 전달하며 참조로 전달하는 것으로 간주합니다.

콜백은 특정 변경 사항을 알리고 프로그램 흐름을 리디렉션하기위한 것입니다. 클로저는 로컬 상태를 수정할 수 있지만 콜백을 사용하는 것처럼 처리 할 프로세서 시간을 결코 얻지 못합니다.

+0

누군가가 여기에 관련된 두 가지 : http : // stackoverflow.co.kr/questions/615642/this-fit-your-call-a-callback/615752 # 615752 – leeand00

1

일컬어 바운드 변수 (== 개체 상태)라는 문맥 변수에 따른 콜백은 클로저가됩니다. 순수한 함수가 될 것이고, 그렇지 않으면 자유 변수 (== 매개 변수) 만 사용하게됩니다.

3

간단히 말해서 컨텍스트 변수를 사용하는 콜백은 클로저입니다.

관련 문제