function c(){
console.log('c')
}
function a(){
console.log('a')
function b(){
console.log('b')
c()
}
b()
}
a()
c()
a와 c 함수의 결과는 어떻게 될까?
일단 함수의 호출과 선언을 알아야한다. 자바스크립트 엔진은 코드를 위에서 아래로 읽으며 진행하게된다.
1. a() 함수가 호출되었으니 a함수의 선언문으로 이동하여 콘솔로그 'a'를 찍는다. 이후 선언문 아래로 진행.
2. b함수의 선언문이 발견되었다. 하지만 선언문이므로 그대로 밑으로 진행
3. b함수가 호출되었다 b함수의 선언문으로 이동하여 콘솔로그 'b'를 찍는다. 곧바로 'c'함수가 호출되어 콘솔로그 c를찍는다.
4. a함수 호출이 모두 끝났으므로 a함수 호출했던곳 아래 c함수 호출하여 다시한번 콘솔로그 'c'를 찍는다.
초보자들이 주의할점은 a함수 호출다음 바로 c함수를 호출하지 않는다는것에 주의 해야한다. 함수가 호출이 됐다면 함수의 선언문이 실행되는것을 잘 생각해두자.
'Javascript' 카테고리의 다른 글
Javascript - 기존배열요소 와 추가될 요소 중복검사 하는법 some() (0) | 2023.07.07 |
---|---|
Javascript - 널 병합 연산자 "??" (0) | 2023.06.26 |
JavaScript - Scope (0) | 2023.06.04 |
JavaScript - 호이스팅 (0) | 2023.06.04 |
JavaScript - 클래스(class) 에 대해서 (0) | 2023.05.28 |