자바스크립트의 중요기술
- 스코프 체인(실행 컨텍스트를 지역->전역에서 찾아 씀), 프로토타입 체인, this, 클로저
클로저(closure)
- 함수내의 지역변수를 함수 외부에서 사용할 수 있게 하는 기술
- 생명주기가 종료된 함수의 변수를 참조할 수 있게 하는 기술
소스
function outer(val) {
var msg = "당신의 메세지 : " + val;
return function() {
return msg;
}; // 함수를 리턴 (콜백함수)
}
var fn = outer("하이~"); // out에서 반환한 함수를 받음
console.log(fn());
결과
당신의 메세지 : 하이~
소스
function nextID() {
var id = 1;
return function() {
return id++;
};
}
var id1 = nextID();
console.log(id1()); // 1
console.log(id1()); // 2
//함수가 생성될때마다 컨텍스트가 각각 생성됨 (new 처럼,,)
var id2 = nextID();
console.log(id2()); // 1
console.log(id2()); // 2
결과
1
2
1
2
댓글 영역