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다음 섹션