JavaScript
프로그램 실행 단계
hiro1983
2015. 2. 4. 18:34
자바스크립트는 프로그램을 실행하면 프로그램이 바로 실행되지 않고, 전역 레벨에서의 파싱 단계를 거친다.
파싱 단계를 마치고 나면 프로그램이 실행되는데, 프로그램을 실행하다가 함수 호출을 만나면 해당 함수 레벨의 파싱 단계를 반복한다. (파싱 -> 런타임)
파싱을 마치고 나면 해당 레벨의 var 변수화 함수 변수가 정의된다. 이 단계에서 코드 블록은 실행되지 않는다. |
전역 레벨의 파싱 단계에서 정의되는 변수와 함수 변수는 루트 객체, Window 객체의 멤버로 추가된다.
함수 레벨의 파싱에서는 해당 함수와 연결돼 있는 변수 스코프라는 객체의 멤버로 추가된다.
루트 객체도 최상위 변수 스코프 객체다.
프로그램의 모든 var 변수와 함수 변수는 그것돠 연관된 변수 스코프 객체의 멤버로 추가된다. |
※ 자바스크립트 프로그램의 실행 절차
프로그램 |
파싱 |
변수, 함수 정의 |
실행 |
↓
함수 코드 파싱 |
호출 |
아래와 같은 코드를 실행해 보자.
alert(Add(7, 3));
var Add = 0; function Add(a, b) { return a + b; } alert(Add); |
추가적으로 alert 의 위치를 바꾼후에 다시 실행 해 보자...
자바스크립트에서는 변수와 함수를 구분해서 관리하지 않는다. 동일한 이름의 변수 또는 함수를 정의하면 이전에 정의된 내용을 덮어쓴다. |