js 의 변수 역할 영역 과 this 지침 에 대한 토론

1.변수 역할 영역:[P71]이 말 은 매우 치밀 하 다."ECMAScript 에서 두 가지 실행 환경,전체 환경 과 함수 환경 만 있 고 모든 함수 가 하나의 실행 환경 이 며 내장 함 수 를 포함한다."다시 말 하면 다른 상황 에서 변수 가 한 쌍 의 대괄호 안에 있 더 라 도 괄호 외부 에서 이 변수 에 접근 할 수 있다.다음 의 예 를 들 어
 
for(var i=0; i<5; i++) {
var num = 20; // for
}
alert(num); // for , num
이상 문 에 대해 서도 마찬가지 로 할 수 있다
 
try {
var num = 20; // try
a = b; //
} catch(e) {
alert(num); // catch , 20
} finally {
alert(num); // finally , 20
}
alert(num); // try , 20
위 에서 보 여 준 이 두 가지 문 구 를 제외 하고 한 쌍 의 대괄호 도 하나의 집행 환경 을 구성 할 수 없다.예 를 들 어
 
{ var num = 1;3 }
2.this 지침:[P83]여기 서 this 가 ECMAScript 에서 의 서로 다른 의 미 를 보 여 준다.(1)전체 집행 환경 에서 this 를 사용 하여 Global 대상 을 나타 낸다.브 라 우 저 에서 window 대상 입 니 다.(2)함수 실행 환경 에서 this 를 사용 할 때 상황 이 좀 복잡 하 다.함수 가 비 window 대상 으로 명확 한 속성 이 없 으 면 함수 만 정의 합 니 다.이 함수 가 다른 함수 에 정의 되 었 든 아니 든 이 함수 중의 this 는 window 대상 을 표시 합 니 다.함수 가 window 대상 이 아 닌 속성 으로 표시 되면 함수 중의 this 는 이 대상 을 대표 합 니 다.(물론 apply 나 call 함 수 를 사용 하여 기본 this 의 인용 을 대체 할 수 있 습 니 다.상세 한 것 은[P88](3)new 연산 자 를 통 해 함 수 를 호출 할 때 함 수 는 구조 함수 로 간주 되 고 this 는 구조 함수 가 만 든 대상 을 가리 킵 니 다.참고:청화대학 출판사

좋은 웹페이지 즐겨찾기