js에서 재귀 함수를 구현하는 방법

清浅
풀어 주다: 2019-04-16 11:50:01
원래의
4495명이 탐색했습니다.

js에서 재귀 함수는 코드에서 자신을 호출하는 함수를 말하며, 입력 오류가 발생했을 때 발생하는 종료 조건이라는 세 가지 특징을 가지고 있습니다. 기본적으로 재귀 함수는 다음과 같이 구현됩니다.

재귀 함수란 자신의 함수를 호출하는 함수를 말합니다. 다음 글에서는 js에서 재귀 함수를 구현하는 방법을 알려드리겠습니다. 참고가 되기를 바랍니다. 모든 사람.

js에서 재귀 함수를 구현하는 방법

【추천 튜토리얼: JavaScript 튜토리얼

JavaScript를 사용하여 함수 외부 또는 다른 함수 내에서 함수를 호출할 수 있습니다. 함수는 내부에서도 호출될 수 있습니다. 함수가 자신을 호출하는 경우 이를 재귀 함수라고 합니다. 예를 들어

<script>
  function demo(x) {
  if (x < 0) return;
  if (x === 0) return 1;
  return x * demo(x - 1);
}
console.log(demo(3));
</script>
로그인 후 복사

의 출력 결과는 다음과 같습니다. 6

위 예에서 return x * 데모( x people - 1)는 실제로 자체 함수 (demo(x-1))를 다시 호출하지만 해당 매개변수는 첫 번째 호출의 매개변수보다 1이 적습니다. 재귀 함수return x * demo(x - 1)中实际上是再次调用自身函数(demo(x-1)),但是其参数比第一次调用的参数少一个,这就是递归函数

递归函数的三大特征

终止条件

终止条件就类似于紧急制动器,它在输入错误的情况可以防止递归,在上文的案例中“if (x < 0) return”就是设置的终止条件,所以说当输入负数时就不会运行递归函数。

基本案例

基本案例就是递归函数的目标。基本案例通常是放在一个if语句中,在上文的案例中“if (x === 0) return 1;"就是一个基本案例,因为当x的值减少到0时就能成功的确认阶乘值了

递归

递归就是实现的功能,在上例中“return x * demo(x — 1);”就是递归函数实际发生的位置,将函数返回的值x乘以demo(x-1)

특징

종료 조건

종료 조건은 비상 브레이크와 유사합니다. 입력 오류를 방지할 수 있습니다. 위의 경우 "if (x < 0) return"이 종료 조건으로 설정되어 있으므로 음수가 입력되면 재귀 함수가 실행되지 않습니다.

기본 사례

기본 사례는 재귀 함수의 목표입니다. 기본 사례는 일반적으로 if 문에 배치됩니다. 위의 경우 x 값이 0으로 감소할 때 "if (x === 0) return 1;"이 기본 사례입니다. 팩토리얼 값을 성공적으로 확인할 수 있습니다🎜

🎜Recursion🎜🎜

재귀는 위의 예에서 구현된 함수입니다. "return x * 데모(x - 1);"는 재귀 함수가 실제로 발생하는 위치입니다. 함수에서 반환된 값 x에 demo(x-1) 값을 곱합니다. 는 우리가 최종적으로 요청한 값입니다🎜🎜예: 🎜🎜

<script>
 function revStr(str){
 //终止条件
 //str === &#39;&#39;是基本案例
  if (str === &#39;&#39;) return &#39;&#39;;
  //递归
  return revStr(str.substr(1)) + str[0];
}
console.log(revStr(&#39;cat&#39;));
</script>
로그인 후 복사
🎜🎜출력 결과는 다음과 같습니다. tac🎜🎜🎜🎜요약: 위 내용은 이 기사의 전체 내용입니다. 모든 사람에게 도움이 되기를 바랍니다. 🎜

위 내용은 js에서 재귀 함수를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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