> 웹 프론트엔드 > JS 튜토리얼 > 재귀적으로 함수 메서드 호출

재귀적으로 함수 메서드 호출

一个新手
풀어 주다: 2017-09-21 09:54:50
원래의
1777명이 탐색했습니다.

재귀 호출(---피보나치 수열)

재귀: 함수 내에서 자신을 다시 호출합니다.

효율성: 이 호출이 끝나기 전에 다음 호출이 시작됩니다. 이번에는 모든 호출이 완료될 때까지 호출이 일시 중지됩니다. 그런 다음 그들은 차례로 돌아올 것입니다.

수학 함수 모양입니다: f(n)

ex: 5!=5*4!(5*4*3*2*1)

4!=4*3!(4*3*2*1)

3!=3*2!(3*2*1)

2!=2*1! 2*1)

1!=1;

F(n)!=n*f(n-1)!

<script>
	//计算数字n的阶乘 (if方法)
		function f(n){
			if(n==1){            //边界条件
				return 1;
			}else{               //没到边界条件
				return n*f(n-1);
			}
		}

	/*或者:return n==1 ? 1 : n*f(n-1); (三目运算方法)
		function f(n){
			var result = return n==1 ? 1 : n*f(n-1);
			return result;
		}
	*/
		//计算5的阶乘?
		function testF(){
			var result = f(5);
			console.log(result);
		}
		testF();
	</script>	
로그인 후 복사

운동 :

다음 수열: 피보나치 수열
1,1,2,3,5,8,13,21,34,55……….
알려진 수열의 첫 번째 숫자와 두 번째 숫자는 모두 1
세 번째 숫자부터 시작하여 각 숫자는 이전 두 숫자의 합입니다

질문: 함수를 사용하여 시퀀스 값에서 n번째 숫자를 찾으세요. 숫자

<!doctype html>
<html lang="en">
 <head>
	 <meta charset="UTF-8">
     <title>Document</title>
	 <link rel="stylesheet" style="text/css" href="">
	 <style>
	 </style>
 </head>
 <body>
	<script>
	 function f(n){
			if(n==1 || n==2){
			  return 1;
			 }else{
			  return f(n-1)+f(n-2);
			 }
		}
		function testF(){
		var result=f(20);
		console.log(result);
		}
		testF();
	</script>	
 </body>
</html>
로그인 후 복사

위 내용은 재귀적으로 함수 메서드 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿