함수 스코프 외부에서 내부 함수 호출, 내부 함수 호출 도식도

CODEDRAGON Development/JavaScript, jQuery, ...

반응형

   

   

함수 스코프 외부에서 내부 함수 호출 도식도

   

   

출력결과

   

   

   

소스 코드

<html>

<head>

<meta charset="UTF-8">

<title>함수 스코프 외부에서 내부 함수 호출</title>

<script type="text/javascript">

//outter() 함수 정의

function outter() {

var a = 10;

var b = 20;

// 익명 내부 함수 정의후 inner변수에 내부 함수의 참조값을 저장

var inner = function () {

var b = 30;

//내부 함수에서는 자신을 둘러싼 외부함수의 변수에 접근이 가능

document.write(a + '<br>');

//b변수는 자신의 함수내에 선언되어 있으므로 외부함수의 b변수가 아닌 자신의 변수 b값이 출력됩니다.

document.write(b);

}

//inner 함수 변수를 리턴

return inner;

}

//outter()함수가 호출되면 inner함수 변수의 참조값이 반환됩니다.

var inn = outter();

//inner함수 변수의 참조값인 익명내부 함수의 참조값이 inn변수에 반환되었으므로 ()통해 함수호출하여 내부 함수를 정상적으로 호출

inn();

</script>

</head>

<body>

</body>