나는 a question about callbacks에게 물었고 다른 질문에 도착했습니다 (의견보기 참조). 클로저와 콜백의 차이점은 무엇입니까?클로저와 콜백의 차이점은 무엇입니까?
답변
다음에서 소개를 확인하십시오 : http://jibbering.com/faq/faq_notes/closures.html. 클로저가 함수와 어떻게 관련되는지 더 잘 이해하는 데 도움이 될 수 있습니다. http://www.javascriptkit.com/javatutors/closures2.shtml
기본적 콜백 함수 포인터 같다 : 여기
는 폐쇄 예들의 집합이다. 클로저가되는 비트는 함수가 변수가있는 컨텍스트에서 변수에 액세스하는 것과 같습니다. 그런 경우 함수는 변수의 현재 값을 사용합니다 (변수를 복사하는 것과 반대). 예 4.아, 그래, 프레드 씨가 그걸 정리합니다. 고맙습니다! :) – leeand00
폐쇄 here의 좋은 정의가있다 :
A "클로저"(그 변수를 결합하는 환경과 함께 무료 변수를 가질 수있는 표현 (일반적 기능)은 "그 닫는다 ").
실제로는 숨겨진 변수가있는 함수입니다.
콜백은 더 높은 수준의 아이디어입니다. 일반적으로 나중에 호출 할 의도로 전달되는 함수입니다. 자바 스크립트에서 클로저는 종종 콜백으로 사용됩니다.
나는 둘이 어떻게 관련되어 있는지 보지 못합니까? 클로저 (closure)는 지역 상태의 일부를 일종의 함수로 전달하며 참조로 전달하는 것으로 간주합니다.
콜백은 특정 변경 사항을 알리고 프로그램 흐름을 리디렉션하기위한 것입니다. 클로저는 로컬 상태를 수정할 수 있지만 콜백을 사용하는 것처럼 처리 할 프로세서 시간을 결코 얻지 못합니다.
누군가가 여기에 관련된 두 가지 : http : // stackoverflow.co.kr/questions/615642/this-fit-your-call-a-callback/615752 # 615752 – leeand00
일컬어 바운드 변수 (== 개체 상태)라는 문맥 변수에 따른 콜백은 클로저가됩니다. 순수한 함수가 될 것이고, 그렇지 않으면 자유 변수 (== 매개 변수) 만 사용하게됩니다.
간단히 말해서 컨텍스트 변수를 사용하는 콜백은 클로저입니다.
Ref : http://stackoverflow.com/questions/2070275/javascript-closures-and-callbacks –