JAVASCRIPT- 클로저
- 변수 생명주기와 클로저
<script>
function f1(){
var a = 1;
return function f2(){
return a;
}
}
var f = f1();
var a = f();
alert(a);
</script>
-> 자바스크립트는 함수가 함수를 포함할수있다. f1() 을 호출해서 반환받는 결과가 함수의 결과이다. 함수이름이 되서 함수처럼 사용할수있다는것이다. f2는 a의 값을 반환한다. 근데 a 가 위에있는 1의 값이다.
function f2(){ return a; }
위의 함수가 클로저라고한다. 자원이 묶이는현상이 생긴다. 클로저가 발생하지않도록 클로저를 잘만들거나 내가 직접 만들수있다.
클로저는 내가 남을 클로저할수있게끔하는 key를 가질수있다.
댓글남기기