내부 함수(inner function) 호출/함수 스코프, 내부 함수 호출 도식도와 함수 스코프

CODEDRAGON Development/JavaScript, jQuery, ...

반응형

   

   

내부 함수(inner function)

  • 함수 내부에 선언한 함수
  • 내부 함수를 사용하면 외부에 이름이 같은 함수가 있어도 내부 함수가 우선적으로 호출됩니다.
  • 하나의 외부 함수에 여러 개의 내부 함수가 있을 수 있습니다

       

   

   

함수 스코핑:

  • 함수 내부에 선언된 변수는 함수 외부에서 접근이 불가능합니다.
  • 기본적으로 함수 스코프 밖에는 함수 스코프 안에 선언된 모든 변수나 함수에 접근이 불가능합니다.

   

   

   

내부 함수 호출 도식도와 함수 스코프

   

   

출력결과

   

   

   

소스 코드

<html>

<head>

<meta charset="UTF-8">

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

<script type="text/javascript">

//outter() 함수 정의

function outter() {

var a = 10;

var b = 20;

// inner() 내부 함수 정의

function inner() {

var b = 30;

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

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

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

document.write(b);

}

//내부 함수는 일반적으로 자신이 정의된 외부 함수 내부에서만 호출이 가능

inner();

}

outter();

//Uncaught ReferenceError: inner is not defined

inner();

</script>

</head>

<body>

</body>

</html>