JavaScript의 변수 선언이 할당 앞에 옵니다.

WBOY
풀어 주다: 2016-05-16 17:55:47
원래의
1021명이 탐색했습니다.

다음과 같습니다

코드 복사 코드는 다음과 같습니다.
var a = 3; >
실제로는 두 단계가 있습니다.
1 a를 정의되지 않은 상태로 초기화
2 값 할당 3

따라서 "믿을 수 없는" 현상이 있을 수 있습니다. 즉, JS의 변수는 먼저 사용한 다음 선언합니다. 이는 Java에서는 허용되지 않습니다.



코드 복사 코드는 다음과 같습니다.System.out.println(a);
int a = 1;


컴파일이 실패했습니다. 하지만 JS는 다음과 같이 할 수 있습니다.


코드 복사 코드는 다음과 같습니다.alert(a)
var a ;


정의되지 않았지만 오류가 보고되지 않습니다. 이는 a가 실제로 선언되었으며 정의되지 않았음을 보여줍니다.

"var a" 없이 "alert(a)"만 있는 경우 JS 엔진은 오류를 보고합니다.


FF는 다음과 같습니다


먼저 사용하고 선언해도 되지만, 이렇게 하면 할당 효과가 상실됩니다. 다음과 같습니다


코드를 복사합니다 코드는 다음과 같습니다.
alert(a)
var a = 1;


이번에는 출력이 1이 아닌 여전히 정의되지 않았습니다.

또 다른 예


Alert(' a' in window); // true
var a;


alert 후에 코드가 공식적으로 작성되었지만 엔진은 여전히 ​​자동으로 var 선언을 먼저 처리합니다. 최종 출력은 true입니다.

이것을 이해하고 나면 다음 코드의 결과를 이해하는 것은 어렵지 않습니다


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