>  기사  >  웹 프론트엔드  >  JS의 재귀 함수

JS의 재귀 함수

高洛峰
高洛峰원래의
2017-02-08 15:24:431574검색

프로그래밍 언어에서는 함수 Func(Type a,...)가 함수 자체를 직접 또는 간접적으로 호출하는 경우 해당 함수를 재귀 함수라고 합니다. 재귀 함수는 인라인 함수로 정의할 수 없습니다.

재귀함수 :

function factorical(num){
  if(num<=1){
    return 1;
  }
  else{
    return num*factorical(num-1);
  }
}
factorial(2)//2

함수를 자체적으로 호출하는 재귀함수인데 이거 정말 좋은가요? , 여기 보세요

var another=factorical;
factorical=null;
console.log(another(2))//会报错说 factorical not a function

함수 호출 함수의 단점이 있으니 해결 방법은 아래를 보세요

function factorical(num){
  if(num<=1){
    return 1;
  }
  else{
    return num*arguments.callee(num-1);
  }
}
var another=factorical;
factorical=null;
console.log(another(2))//2

위의 함수 이름 대신 인수.callee를 사용하면 함수를 어떻게 호출하더라도 오류가 발생하지 않습니다.

위 내용은 편집자가 소개한 JS의 재귀 함수입니다. 궁금한 점이 있으면 메시지를 남겨주시면 편집자가 답변해 드리겠습니다. 당신은 시간에. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!

JS의 재귀함수에 대한 더 많은 글을 보시려면 PHP 중국어 홈페이지를 주목해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.