스이
63
2020-11-20 17:05:17 작성 2020-11-20 17:06:20 수정됨
3
160

자바스크립트에서 재귀함수 관련 질문입니다.


안녕하세요 제가 자바스크립트로 재귀함수를 사용해  ul태그를 만들고싶습니다.

아직 재귀함수를 공부하는데 많이 부족한것같아 선생님들께 질문하려고 글을 남깁니다.

코드는 아래와 같고


 <div id="all">
 	
	 </div> 
    
    
     <script type="text/javascript">
     	function tree(n){
     		if(n==1){
     			return n;
     		}else{
     			var plusNode=document.createElement('ul');
         		plusNode.innerHTML="<li>menu</li>";
         		return document.getElementById('all').appendChild(plusNode)+tree(n-1);
         			
     			
     		}
     			
     		
     	}
     	alert(tree(8));

이렇게 사진과같이 결과값이 나왔습니다. 저는 8이라는 값을 넣어줬는데

왜  li태그가 7개 밖에 생성되는지 이해가 안가네요..

0
  • 답변 3

  • 모찌모찌
    165
    2020-11-20 17:08:53

    8, 7, 6, 5, 4, 3, 2,


    2일때 -1 이면 1


    if(n == 1) => 1==1


    return 1

  • 후미유
    177
    2020-11-20 17:10:20

    8번째에서는 n==1 인걸 확인한뒤 UI에 li를 넣지않고 1을 리턴하기 때문입니다~

  • 스이
    63
    2020-11-20 17:10:28 작성 2020-11-20 17:10:47 수정됨

    모찌모찌님  후미유님 빠른답변 정말 감사드립니다.

    재귀함수 정말 어려운것같네요.. 좋은답변 감사합니다~

    잘해결됐습니다!😊

  • 로그인을 하시면 답변 을 등록할 수 있습니다.