자바스크립트 변수 호이스팅LOGIN

자바스크립트 변수 호이스팅

JavaScript 변수 승격

JavaScript에서는 함수 및 변수 선언이 함수의 맨 위로 승격됩니다.

JavaScript에서는 변수를 사용한 후에 선언할 수 있습니다. 즉, 변수를 먼저 사용한 다음 선언할 수 있습니다.

다음 두 예는 동일한 결과를 얻습니다.

x = 5; // 变量 x 设置为 5
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x;                     // 在元素中显示 x
var x; // 声明 x
var x; // 声明 x
x = 5; // 变量 x 设置为 5
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x;                     // 在元素中显示 x

위 두 예의 결과는 동일합니다.

위의 예를 이해하려면 "호이스팅(가변 호이스팅)"을 이해해야 합니다.

변수 승격: 함수 선언과 변수 선언은 항상 인터프리터에 의해 메서드 본문의 맨 위로 조용히 "승격"됩니다.

JavaScript 초기화는 승격되지 않습니다.

JavaScript에서 선언된 변수만 승격되고, 초기화된 변수는 승격되지 않습니다.

다음 두 예의 결과는 다릅니다.

예 1:

var x = 5; // 初始化 x
var y = 7; // 初始化 y
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x + " " + y;           // 显示 x 和 y
다음 섹션
코스웨어