> 웹 프론트엔드 > JS 튜토리얼 > js 변수 범위 및 이pointer_javascript 기술에 대한 토론

js 변수 범위 및 이pointer_javascript 기술에 대한 토론

WBOY
풀어 주다: 2016-05-16 18:13:52
원래의
866명이 탐색했습니다.
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. 이 포인터: [P83]

여기에 ECMAScript에서 이것의 다른 의미를 나열하십시오:

(1) 전역에서 사용됨 실행 환경은 브라우저의 창 개체인 전역 개체를 나타냅니다.

(2) 함수 실행 환경에서 사용하면 상황이 좀 복잡해집니다. 함수가 비창 개체로서 명확한 속성을 갖지 않고 함수만 정의하는 경우, 함수가 다른 함수에 정의되어 있는지 여부에 관계없이 이 함수에서 this는 여전히 창 개체를 나타냅니다. 함수가 창이 아닌 개체의 속성으로 명시적으로 사용되는 경우 함수의 this는 이 개체를 나타냅니다. (물론 이 참조를 기본값으로 대체하기 위해 적용 또는 호출 함수를 사용할 수 있습니다. 자세한 내용은 [P88]을 참조하십시오.)

(3) new 연산자를 통해 함수를 호출하면 해당 함수는 다음과 같이 처리됩니다. 생성자이며 이는 생성자를 가리킵니다. 함수에 의해 생성된 개체입니다.
참고자료:
"자바스크립트 기본 및 사례 전개에 대한 자세한 설명" 청화대학교 출판부
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿