함수 호이스팅은 함수 선언을 해당 범위의 시작 부분으로 끌어올리는 중요한 개념입니다. 이는 위의 코드가 다음과 같이 효과적으로 다시 작성되었음을 의미합니다.
이상하게도 함수 내의 함수 a()는 변수 선언(var a = function () {};)과 유사하게 작동합니다. . 다음을 고려하십시오.
var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a);
두 버전 모두 완전히 동일한 결과를 산출합니다.
기본적으로 코드는 다음을 수행합니다.
function b() { function a() {} a = 10; return; }
핵심 사항은 함수 호이스팅과 변수 범위 지정은 상호 작용하여 이 동작을 생성합니다. 내부 함수는 지역 변수 a를 생성하는 반면, 함수 선언 자체는 함수를 맨 위로 승격시킵니다. 이는 궁극적으로 함수 내 변화에 영향을 받지 않는 전역적으로 정의된 존재로 이어집니다.
위 내용은 JavaScript 함수 호이스팅 및 범위 지정은 변수 덮어쓰기에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!