JavaScript의 클립 소개

3859 단어 programmingjavascript

머리말:
이 문서에서 저는 가능한 한 자바스크립트의 클립에 대한 기초 지식을 간단하게 소개할 것입니다.

선결 조건:
JavaScript의 문법 범위에 대해 어느 정도 알고 있고, 어떤 이유로 폐쇄의 개념을 파악하지 못했다면, 본고는 당신을 위해 준비한 것입니다.

왜 당신은 마무리를 이해해야 합니까?
  • 폐쇄는 바로 우리 곁에 있다.
  • 클로즈업은 대형 코드를 독립적이지만 서로 의존하는 모듈로 분리하는 기초를 형성했다.
  • 코드에서 클립을 사용했을 가능성이 높고 심지어는 그것을 몰랐을 수도 있다.

  • 본문 말미에서 당신은 다음과 같이 해야 한다.
  • 기본 지식을 습득한다.
  • 코드의 클립을 식별할 수 있다.내가 전에 지적한 바와 같이, 당신은 이미 그것을 사용하고 있을지 모르지만, 모른다.
  • 들어가자.

    뭐가 끝이야?
    클립은 함수가 문법 범위 밖에서 실행되더라도 함수가 그 문법 범위를 기억하고 접근할 수 있도록 하는 것을 말한다.어법 범위는 함수를 정의하는 범위를 가리킨다.

    그림:
    function hour(){
        var hr = 2;
    
        function min(){
            console.log(hr);
        }
    
        return min;
    }
    
    var time = hour();
    time();       //output:   2
    
    위의 코드 세션을 훑어봅시다.
  • 우선, 우리는 함수hour를 정의한다.이 함수는 모든 내용을 외부 세계에서 봉인하거나 숨기는 범위를 만듭니다.
  • 다음에 hour에서 우리는 변수hr를 성명하고 그 값을 2로 부여한다.
  • 는 여전히 hour에서 우리는 또 다른 함수min를 정의했다. 이것은 hour의 범위 내에서 자신의 범위를 만든다.min는 정의에서 변수hr를 인용하였음을 주의하십시오.
  • 마지막으로 hour 안에 우리는 돌아간다min.
  • hour의 범위 밖으로 이동하고hour 실행(또는 호출).이 호출 결과 (min 는 새로운 변수 time 에 분배되었다.
  • 그리고 실행time하면 우리가 되돌아오는 함수min를 당연히 실행합니다.그래서 min 우리가 성명한 범위 밖에서 집행한다.
  • 우리는 2의 출력을 얻었는데 이것은 hr의 값이다.이것은 사람을 매우 놀라게 한다.
    우리는 함수hour(그리고 그 중의 모든 내용, 포함hr)가 함수return 문장에서 퇴출된 후 즉시 쓰레기로 수집되기를 희망합니다.그렇다면 왜 min는 변수hrhour 함수의 전체 범위에 접근할 수 있습니까?이것은 업무의 종결이다.
    패키지를 닫으면 min 에서 정의된 범위에 계속 접근할 수 있습니다. 우리의 예는 hour 입니다.프로그램 내의 언제든지 hour 접근할 수 있도록 클라이언트 min 의 역할 영역을 활성 상태로 유지한다고 할 수 있습니다.

    유명한 기능setTimeout:
    유명한 setTimeout 함수를 사용하는 것은 우리가 일상 코드에서 패키지를 닫는 많은 방법 중의 하나이다.
    function delay(){
        var response = "Ok";
    
        setTimeout(function timeCount(){
            console.log(response);
        }, 2000);
    }
    
    delay();
    
  • 우선, 우리는 함수delay를 정의함으로써 문법 범위를 만든다.
  • 다음에 delay에서 변수response를 설명하고 문자열"Ok"을 부여합니다.
  • 다음에 우리는 timeCount라는 함수를 만들고 이를 첫 번째 매개 변수로 setTimeout, 두 번째 매개 변수로 2000에 전달한다.
  • 마지막으로 저희가 집행delay하겠습니다.
  • 주의, timeCountdelay의 범위 내에 클로즈업이 하나 있다.따라서 timeCountsetTimeout 2000밀리초 이내에 실행되었을 때 delay의 역할역이 사라져도 delay의 역할역에 접근할 수 있다.이것은 또 일의 종결이다.

  • 결론:
    마지막 몇 분(또는 몇 초, Lol)에서 우리는 클로즈업의 기본 개념을 배웠고 클로즈업이 코드와setTimeout 함수에서의 용법을 이해했다.
    다음 글에서 우리는 폐쇄가 어떻게 순환과 함께 작동하는지, 그리고 모듈 모델의 기초를 어떻게 구성하는지 깊이 있게 연구할 것이다.PLSRD(Persistent Reference Data)의 개념도 소개합니다.
    다음까지✌

    좋은 웹페이지 즐겨찾기