자바 스크립트 변수 리프트
자바 스크립트 함수와 변수 선언 함수의 상부로 상승한다.
자바 스크립트가 변수 즉, 변수는 처음 사용 선언 할 수 있고, 사용 후에는 선언 될 수있다.
다음 두 예는 동일한 결과를 얻을 것이다 :
예 1
X = 5; // 변수 x 5로 설정
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML의 =의 X; // X는 요소에 표시됩니다
var에 X; // 선언 X
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML의 =의 X; // X는 요소에 표시됩니다
var에 X; // 선언 X
»시도
예 2
var에 X; // 선언 X
X = 5; // 변수 x 5로 설정
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML의 =의 X; // X는 요소에 표시됩니다
X = 5; // 변수 x 5로 설정
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML의 =의 X; // X는 요소에 표시됩니다
»시도
당신이 이해할 필요가 위의 예제 이해하려면 "(가변 리프트) 리프팅을."
변수 리프트 : 함수 선언 및 변수 선언은 항상 조용히 방법 본체의 상단에 "승진"한 인터프리터 될 것입니다.
자바 스크립트 초기화가 개선되지 않습니다
자바 스크립트 변수 선언은 초기화되지, 증가 할 것이다.
다음의 두 가지 예는 동일하지 않은 결과 :
예 1
VAR X = 5; // 초기화 X
var에 Y = 7; // y로 초기화
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML = X + ""+ y를 ; // x와 y를 표시
var에 Y = 7; // y로 초기화
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML = X + ""+ y를 ; // x와 y를 표시
»시도
예 2
VAR X = 5; // 초기화 X
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML = X + ""+ y를 ; // x와 y를 표시
var에 Y = 7; // y로 초기화
ELEM = document.getElementById를 ( "데모") ; // 요소를 찾기
elem.innerHTML = X + ""+ y를 ; // x와 y를 표시
var에 Y = 7; // y로 초기화
»시도
Y 예 2 변수 선언 (VAR의 Y)는 향상된 때문이다출력 미정이지만, 초기화 (Y = 7)이 증가하지 않기 때문에 변수 Y는 정의되지 않은 변수이다.
예제 2 다음 코드와 유사합니다 :
var x = 5; // 初始化 x var y; // 声明 y elem = document.getElementById("demo"); // 查找元素 elem.innerHTML = x + " " + y; // 显示 x 和 y y = 7; // 设置 y 为 7
머리에 변수를 선언
대부분의 프로그래머 자바 스크립트를 변수 리프트를 모르겠어요.
프로그래머가 아니라 변수를 이해하지 않을 경우 어떤 문제가 발생하기 쉬운 자신의 작성 절차를 강화한다.
이러한 문제를 방지하기 위해, 우리가 일반적으로 각 범위의 시작하기 전에 이러한 변수를 선언, 이것은 정상 자바 스크립트 구문 분석 단계, 우리를 이해하기 쉽다.
자바 스크립트 엄격 모드 (strict 모드)가 선언되지 않은 변수를 사용할 수 없습니다. 다음 장에서 우리는 "엄격 모드 (strict 모드)"을 배울 것입니다. |