함수 - 내부함수, 재귀호출_js

2021. 12. 18. 10:33ksmart_html_css_js/JavaScript

728x90
내부함수

- 함수 내에 함수

- 내부 함수는 외부에서 호출이 불가능하다.

<script type="text/javascript">
function myFn(){
	//내부함수 - 내부함수는 지역함수임으로 외부에서 호출이 불가능하다.
	function mySubFn(){
		console.log('내부함수');
	}
mySubFn(); //지역함수임으로 함수 내부에서는 호출 가능
}
</script>

function myFn(){
		//내부함수 - 내부함수는 지역함수임으로 외부에서 호출이 불가능하다.
		function mySubFn(){
			console.log('내부함수');
		}
	return mySubFn;
	}
	console.log(myFn(),'내부함수 리턴받기');

function myFn(){
		//내부함수 - 내부함수는 지역함수임으로 외부에서 호출이 불가능하다.
		function mySubFn(){
			console.log('내부함수');
		}
	return mySubFn;
	}
	console.log(myFn(),'내부함수 리턴받기');
	var resultFn=myFn();
	resultFn();//=myFn()();
​재귀호출

- 함수 내부에서 나 자신을 실행

<script type="text/javascript">
var cnt=0;
function myFn3(){
	console.log(++cnt);
	myFn3();//나 자신 호출 가능
}
myFn3();
</script>

재귀호출 리턴
var cnt=0;
function myFn4(){
	console.log(++cnt);
	if(cnt<10){//무한 루프 안되도록 조건식
		myFn4();//나 자신 호출
	}
}
var result=myFn4();
console.log(result,'재귀 호출 후 결과값');

:: 리턴 ::

var cnt=0;
function myFn4(cnt){
	console.log(++cnt);
	if(cnt<10){//무한 루프 안되도록 조건식
		return myFn4(cnt);//나 자신 호출
	}else{
		return cnt;
	}
}
var result=myFn4(0);
console.log(result,'재귀 호출 후 결과값');

재귀함수 리턴 예제
function reA(){
	return reB();
}
function reB(){
	return reC();
}
function reC(){
	return 100;
}
console.log(reA());

함수선언과 동시에 바로 실행하기
<script type="text/javascript">
(function(){
	console.log('선언과 동시에 실행');
})();
</script>

<script type="text/javascript">
(function(name){
	console.log('선언과 동시에 실행',name);
})('홍길동');
</script>

 

728x90

'ksmart_html_css_js > JavaScript' 카테고리의 다른 글

객체_js  (0) 2021.12.18
크로저_js  (0) 2021.12.18
콜백함수_js  (0) 2021.12.18
함수_js  (0) 2021.12.18
Continue, Break, 중첩 반복문_js  (0) 2021.12.18