자바스크립트2013. 2. 8. 15:16

자바스크립트 개념 없이 10년 동안 개발 햇다 -.-  기본에 충실하자 


// 함수안의 변수는 함수안에 선언이 있는지 먼저 확인한다 그래서 함수 i는  var i ,alert(i), i=3 ; 

var i=0; 

function T1(){

    alert(i);        // undefined

    var i=3;

    alert(i);    // 3

}

 T1();

 

  

function outer()

    var x=0; 

    return ++x;

var f = outer();  

 alert(f);  // f()하면 오류 발생 


var f = outer; 

 alert(f());  // f() 가능 

 


// 클로저 : 내부 함수를 반환값으로 사용하는 특수한 함수

function outer1()

{

    var x=0;

    return function(){ return++x; };  // 함수 호출 (클로저)

}


var f1 = outer1();

f1();    // 1

f1();      // 2

alert(f1());  // 3

Posted by 선한열심