Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 재귀
- inner class
- 자바스크립트 이벤트처리
- Java
- 상속
- 자바
- str to char array
- Interface
- 자바입출력
- java lambda
- 알고리즘
- jquery 속성선택자
- 후위표기
- 자바 순열 코드
- 순열코드
- 서로소
- jquery 이벤트 처리
- java Collections.sort()
- char to str
- 조합 재귀
- 자바 조합 재귀
- parseInt()
- jquery dom 계층 선택자
- 순열 재귀
- 자바 재귀 조합
- 자바스크립트 이벤트중지
- 알고리즘 그래프
- java 내부 클래스
- 재귀함수
- jquery 필터선택자
Archives
- Today
- Total
유블로그
자바스크립트 스코프 체인 본문
변수와 함수는 유효범위가 있다.
자바스크립트는 C 와 달리 for 문이나 if 문의 { } 이 유효범위가 없다.
함수만이 유효범위의 단위!
이 유효범위는 [[scope]] 프로퍼티로 각 함수 객체 내에서 연결 리스트 형식으로 관리된다.
이것을 스코프 체인이라고 한다.
var var1 = 1;
var var2 = 2;
function func() {
var var1 = 10;
var var2 = 20;
console.log(var1); // 10
console.log(var2); // 20
}
func();
console.log(var1); // 1
console.log(var2); // 2
위 코드를 실행하면 전역 실행 컨텍스트가 만들어지고 func() 함수 객체가 만들어진다.
func()는 전역 실행 컨텍스트 내에 있기 때문에 func 함수 객체의 [[scope]]는 전역 변수 객체가 된다.
func 실행 컨텍스트가 [[scope]] 프로퍼티를 만들 때는
일단 자신이 속한 실행 컨텍스트의 [[scope]] 프로퍼티를 복사하고 현재 생성된 변수 객체를 스코프 체인 맨 앞에 추가한다.
이 스코프 체인으로 변수(식별자)를 탐색하는데
var1, var2 를 사용할 때 스코프체인을 따라 먼저 func 를 검사하고, 없으면 스코프 체인을 따라가 다음 객체를 탐색할 것이다.
'JavaScript & jQuery' 카테고리의 다른 글
자바스크립트 실행 컨텍스트 생성 과정 (0) | 2021.06.19 |
---|---|
자바스크립트 프로토타입 체이닝 (0) | 2021.06.18 |
자바스크립트 함수 호출과 this (0) | 2021.06.18 |
자바스크립트 콜백함수, 즉시 실행 함수, 내부 함수 등 (0) | 2021.06.18 |
자바스크립트 함수 객체 (0) | 2021.06.18 |