함수 - 내부함수, 재귀호출_js
2021. 12. 18. 10:33ㆍksmart_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 |