우리는 변수 선언이 승격된다는 것을 알고 있습니다:
으아악동시에 함수 선언도 승격됩니다.
으아악그렇다면 변수 선언과 함수 선언이 모두 있을 때, 누가 맨 위에 오를 것인가? 정렬하는 방법? 예:
으아악그런가요?
으아악"JAVASCRIPT You Don't Know"에서 이 문장을 보고 조금 혼란스러웠기 때문에:
함수 선언과 변수 선언이 승격됩니다. 그러나 주목할만한 세부 사항은 함수가 먼저 승격된 다음 변수가 승격된다는 것입니다. 함수 선언은 일반 변수보다 먼저 호이스팅됩니다.
그러면 다음과 같이 정렬됩니다:
으아악정렬 규칙을 찾아보세요. 감사합니다!
仅有的幸福2017-05-18 10:57:55
이 "개선 우선"이라는 말은 실제로는 표면적인 오해입니다. 사양은 특별한 순서가 없습니다(V8 구현에 관심이 있는 경우 여기에서 읽을 수 있습니다).
var
的提升是声明跟赋值分开,function
개선은 전체적인 개선이므로
이렇게 되겠지
으아악그래서 기능이 먼저 승격되는 효과가 있습니다.
巴扎黑2017-05-18 10:57:55
우선 4가지 콘텐츠로 나눌 수 있어요
으아악프로모션 후 정렬 형식이 어떤지 알고 싶습니다.
현재 알려진 조건은 변수 할당 이전에 변수 선언이 승격되므로 당분간 내부 순서에 관계없이 변수 선언을 처음 두 자리에 먼저 넣을 수 있다는 것입니다.
다음으로 선언 모듈과 할당 모듈의 내부 순서를 각각 결정해 보겠습니다.
실험을 수행하기 위해 foo 기능을 확장했으므로 현재 순서는 다음과 같습니다.
왜 이렇게 바꿨는지 걱정하지 마세요. 실험을 진행하면서 이해해 보도록 하겠습니다.
이해를 돕기 위해 실험은 2번에 걸쳐 진행되었습니다.
첫 번째: 변수 선언 모듈을 실험합니다.
그런 다음 변수 할당 모듈을 실험해 보겠습니다.
으아악실험을 해보자:
으아악실험 결과를 바탕으로 최종 순위 결과는 다음과 같습니다.
으아악