JS 의 귀환 실현

재 귀 함 수 는 실행 과정 에서 함수 명 을 통 해 자신 을 호출 하 는 것 이다.
function add(num){return num<0?num:num+add(num-1);}
console.log(add(4));//9
var addCopy = add;
add = null;
console.log(addCopy(4));//  Uncaught TypeError:add is not a function

함수 add 는 할당 값 null 이전에 표면 에 문제 가 없 는 것 처럼 보 였 으 나 함수 add() 를 변수 addCopy 에 저장 한 다음 addnull 로 설정 하 였 으 며, 결 과 는 원 함수 에 대한 인용 이 하나 밖 에 남지 않 았 으 며, 반드시 실행 addCopy() 해 야 하기 때문에 add 는 더 이상 함수 가 아니 기 때문에 오류 가 발생 할 수 있 습 니 다. 이러한 상황 에서 사용 arguments.callee이 문 제 를 해결 할 수 있다.
* * arguments.callee 는 실행 중인 함수 지침 을 가리 키 기 때문에 함수 에 대한 재 귀적 호출 을 실현 할 수 있 습 니 다. * *
귀속 을 구성 하 는 조건:
  • 자 문 제 는 원시 문제 와 같 고 더욱 간단 하 다.
  • 재 귀 과정 에서 반드시 명확 한 조건 으로 재 귀 의 끝, 즉 재 귀 수출 을 판단 해 야 한다.
  • 좋은 웹페이지 즐겨찾기