달력

1

« 2020/1 »

  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  

'내부 함수 특징'에 해당되는 글 1

  1. 내부 함수 호출/함수 스코프

내부 함수(inner function)

함수 내부에 선언한 함수.

내부 함수를 사용하면 외부에 이름이 같은 함수가 있어도 내부 함수가 우선적으로 호출됩니다.

   

function 외부 함수(){

function 내부 함수1(){

코드

}

 

function 내부 함수2(){

코드

}

   

내부 함수1( );

}

   

내부 함수 기능

  • 자바스크립트의 기능르 보다 강력하게 해주는 클로저 생성
  • 부모 함수 코드에서 외부에서의 접근을 막고 독립적인 헬퍼 함수를 구현

   

내부 함수 특징

  • 내부 함수에서는 자신을 둘러싼 외부함수의 변수에 접근이 가능합니다. (자바스크립트의 스코프 체이닝)
  • 내부 함수는 일반적으로 자신이 정의된 외부 함수 내부에서만 호출이 가능합니다. (자바스크립트의 함수 스코핑)

   

※함수 스코핑:

함수 내부에 선언된 변수는 함수 외부에서 접근이 불가능합니다.

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

   

   

소스 코드

<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>

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch04-function/25.html>

   

   

   

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

   

Posted by codedragon codedragon

댓글을 달아 주세요