JavaScript 재 귀 함수 에 대한 작은 주의

940 단어
다음은 일반적인 정확 한 재 귀적 기법 으로 전형 적 인 단계 곱 하기 예 이다.
function factorial(){
    if(num<=1){
       return 1;
  }else { 
      return num * factorial(num-1)
    }
}
          ,              ,       ,                。

다음은 결합 을 푸 는 기법 입 니 다. 이것 은 모두 고도 위의 것 입 니 다. 제 가 좋 은 작은 디 테 일 이 라 고 생각 하기 때문에 기록 하 라 고 합 니 다.
function factorial(){
    if(num<=1){
       return 1;
  }else { 
      return num * arguments.callee(num-1)
    }
}
         ,          ,         
var func = factorial;
factorial = function(){
  return 0
}
alert(func(5));  //120
alert(factorial(5)) //0

다음은 이것 도 arguments. callee 디 결합 에 관 한 간단 한 예 입 니 다.
function print (){
     source()
}
function source(){
    alert(source.caller)
}
print()
------------------------------
             ,      
 function print (){
     source()
}
function source(){
    alert(arguments.callee.caller)
}
print()

좋은 웹페이지 즐겨찾기