javaScript 사용 (4) 패키지 닫 기

함수 내 부분 변 수 는 외부 에서 접근 할 수 없 음 을 설명 하 는 동시에 함수 내 에 함 수 를 끼 워 넣 을 수 있 습 니 다. 내부 함수.
외부 함수 의 변 수 를 방문 할 수 있 습 니 다. 만약 에 어떤 함수 가 내부 함수 의 인용 을 되 돌려 준다 면 외부 에서 부분 변 수 를 간접 적 으로 사용 할 수 있 습 니 다.
예 를 들 면:
  function closure(){
vari=5;
i++;
    alert(i);
    }
    // closure           i 。        6
      closure();
      closure();
}

패 킷 을 닫 으 면 함수 체 내 에서 설명 하 는 함수 로 간단하게 이해 할 수 있 습 니 다.
만약 우리 가 방법 밖에서 i 를 증가 시 키 려 면 어떻게 합 니까?
이렇게 정의 할 수 있어 요.
function closure(){
    vari=5;
  function iIncrement(){
      i++;
         alert(i);
      }
      return iIncrement;
}
 var v=closure();
  v();//  6
  v();//  7

closure 함수 에서 iIncrediment 함 수 를 정의 하고 이 함수 대상 을 되 돌려 줍 니 다.
매번 호출 할 때마다 i 에 게 누적 을 하고 외부 에서 변 수 를 조작 했다 는 것 을 설명 하 며 i 는 메모리 에 계속 있 습 니 다.
이것 도 역시 폐쇄 적 인 상용 기능 이다
패 킷 을 만 들 때마다 새로운 역할 영역 과 새로운 개인 변 수 를 만 들 고 서로 간섭 하지 않 습 니 다.
다음 에 우 리 는 종합 적 인 예 를 분석 합 니 다. 만약 에 우리 가 계산기 의 함 수 를 만 들 고 모든 함수 의
호출 은 모두 호출 자의 결과 에 만 영향 을 미친다.
패키지 종합 예
function counter(){
var n=0;
     return {
count:function(){n++},
reset:function(){n=0},
get:function(){alert(n)}
     }
     }

conter 함 수 를 만 들 었 습 니 다. 그 안에 세 개의 패 킷 함 수 를 만 들 었 습 니 다. 각각 n 이라는 변 수 를 참조 하 였 습 니 다. 다음.
보, 우리 테스트 해 보 자.
   var t1=counter();
   var t2=counter();
    t1.count();
   t1.get();// 1
    t2.count();
    t2.get();//1
    t2.count();
   t2.get();//2
    t1.reset();
     t1.get();//0
     t2.get();//2

우리 가 각각 만 든 것 을 알 수 있다.
t1,t2
각각 조작 한 후 각자 의 사유 변수 에 아무런 영향 을 주지 않 는 다.(연상 할 수 있다.
java

get
화해시키다
set
방법

좋은 웹페이지 즐겨찾기