폐쇄 '


함수가 완료 될 때 일반적으로, 액티브 오브젝트를 로컬 메모리 만 전역 (전역 실행 환경의 변수 객체)에 저장된 폐기되지만, 다른 클로저가있는

다른 함수에서 정의 된 함수 활성 객체 함수 (외부 함수)의 범위를 체인에 추가 포함한다. 외부 기능이 완료되면, 그들의 활동의 목적은 파괴되지

여전히 이벤트 객체를 참조하기 때문에, 내부 기능의 범위 체인. 즉, 외부 기능의 실행 후에, 그 범위 체인 실행 환경 파괴되지만, 그의 활성의 목적은

여전히 내부 및 외부 기능 개체가 소멸 될 때까지 환상이 파괴되어, 메모리에 남아 .

폐쇄 가변 도메인

폐쇄 개체에 속하지 않는,이 방법의 목적은, (호출 도트 연산자를 사용할 수 없다)되어 있지 인

폐쇄 기능을 포함하는 임의의 변수의 최종 값을 얻을 수 있고, 전체 가변 폐쇄 저장된 오히려 특정 변수보다는 개체

 

CreateFunction 함수 () {
   VAR 새로운 새로운 결과 = 배열 ()
  대 (VAR의 I = 0; I <10; I는 ++) {
    CONSOLE.LOG (I) // 1,2,3,4,5,6,7,8 9, 10이다
    의 setTimeout ([I] = 함수 () {결과
      CONSOLE.LOG (이때 윈도우, 및 글로벌 변수의 390); // 윈도우 익명 함수
      CONSOLE.LOG는 (Ⅰ) // 10 = I는
      , I 반환
    })
  }
  10 익명 함수 함수 () {} 인쇄를 인쇄 할 // 배열 기능한다 CONSOLE.LOG (결과)
  , 반환 결과
}
) (CreateFunction 단계;

 

추천

출처www.cnblogs.com/psxiao/p/11373874.html