달력

1

« 2020/1 »

  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  

함수값을 리턴하는 함수

일반 값처럼 함수 값을 리턴할 수 있습니다.

   

함수를 리턴하는 함수 기능

  • 함수를 호출함과 동시에 다른 함수로 바꾸기
  • 자기 자신을 재정의하는 함수 구현

   

   

함수를 리턴하는 함수를 이용해 자신을 재정의하는 self함수 정의

   

소스 코드

<html>

<head>

<meta charset="UTF-8">

<title>자신을 재정의하는 함수 2</title>

<script type="text/javascript">

//self() 함수 정의

var self = function () {

var a= 10;

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

return function () {

var b = 20;

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

}

}

//원래 함수에서 리턴 받은 새로운 함수 참조값 저장

self = self(); // a

//새로운 함수 참조값으로 함수 호출

self();                 // b

</script>

</head>

<body>

</body>

</html>

   

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

   

   

   

자신을 재정의하는 함수 도식도

   

   

   

동일한 결과이지만 외부 함수와 내부 함수 모두 익명함수로 self 함수 구현한 동일한 형태

   

소스 코드

<html>

<head>

<meta charset="UTF-8">

<title>자신을 재정의하는 함수 1</title>

<script type="text/javascript">

//self() 함수 정의

function self () {

var a= 10;

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

return function () {

var b = 20;

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

}

}

//원래 함수에서 리턴 받은 새로운 함수 참조값 저장

self = self(); // a

//새로운 함수 참조값으로 함수 호출

self();                 // b

</script>

</head>

<body>

</body>

</html>

   

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

   

출력결과

동일함

   

   

(참조)

익명 내부함수로 정의 및 내부 익명함수를 리턴값으로 반환

09.html

Posted by codedragon codedragon

댓글을 달아 주세요