JS 클로저의 역할은 무엇입니까?

Guanhui
풀어 주다: 2020-06-24 16:09:32
원래의
4891명이 탐색했습니다.

JS 클로저의 기능은 A가 실행되고 반환된 후 Javascript의 가비지 수집 메커니즘이 A가 점유한 리소스를 회수하지 못하도록 방지하는 것입니다. A의 내부 함수 B의 실행은 A의 변수에 의존해야 하기 때문입니다. 클로저를 사용하지 않는 경우 패키지, 함수 B가 실행을 위해 의존하는 변수는 전역 오염을 유발합니다.

JS 클로저의 역할은 무엇입니까?

폐쇄의 본질

A 집합 S는 Cl(S)=S(여기서는 cl이 폐쇄임)인 경우에만 닫힌 집합입니다. 특히, 공집합의 폐쇄는 공집합이고, X의 폐쇄는 X이다. 집합의 교집합의 종결은 항상 종결 집합의 교집합의 부분집합(반드시 진부분집합일 필요는 없음)입니다. 유한하게 많은 집합의 합집합의 종결은 이들 집합의 종결의 합집합과 동일합니다; 영 집합의 합집합은 공집합이므로 이 명제는 공집합의 종결이라는 이전의 특별한 경우를 포함합니다. 무한 집합의 합집합의 종결은 이러한 집합의 종결의 합집합과 반드시 ​​동일할 필요는 없지만 전자는 후자의 상위 집합이어야 합니다.

A가 S를 포함하는 X의 부분 공간인 경우 A에서 계산된 S의 마감은 에서 A와 S로 계산된 마감의 교차점과 같습니다. 특히 A가 Cl_X(S)의 하위 집합인 경우에만 S는 A에서 조밀합니다.

클로저 예시

개인 변수 시뮬레이션:

function Counter(start){

  var count = start;

  return{
    increment:function(){
      count++;
    },
    get:function(){
      return count;
    }
  }
}

var foo = Counter(4);
foo.increment();
foo.get();// 5
로그인 후 복사

여기에서 Counter 함수는 두 개의 클로저, 즉 함수 increment와 get 함수를 반환합니다. 두 함수 모두 외부 범위 Counter에 대한 참조를 유지하므로 이 범위에 정의된 변수 개수에 항상 액세스할 수 있습니다.

추천 튜토리얼: "JavaScript"

위 내용은 JS 클로저의 역할은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿