var a; // 식별자가 a인 변수 선언
function a() { // 함수를 선언합니다. 식별자도
}
alert(typeof a)
의 우선순위인 "함수"를 표시합니다. var보다 높은 기능 수준.
이것이 코드가 순차적으로 실행되는 이유, 즉 나중에 실행되는 함수가 a를 덮어쓰는 이유라고 생각하는 사람들도 있습니다. 좋아요, 바꿔보세요.
function a() {
}
var a
alert(typeof a);
결과는 여전히 "정의되지 않음" 대신 "함수"로 표시됩니다. 즉, 함수 선언이 변수 선언보다 우선합니다.
a를 선언할 때 코드를 약간 수정하고 값을 할당합니다.
function a() {
}
var a = 1; // 참고하세요
alert(typeof a);
이때 "function"은 표시되지 않습니다.
코드 복사와 동일합니다. 코드는 다음과 같습니다.
function a() {
}
var a;
a = 1; // 참고하세요
alert(typeof a);
는 "var a = 1"이 두 단계로 나누어진다는 의미입니다. a는 재할당되었으므로 당연히 마지막 값입니다.