English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Javascript 함수의 arguments.callee 사용 사례 분석

이 예제는 Javascript 함수의 arguments.callee 사용법에 대해 설명합니다. 대화공을 통해 참고하기 위해 공유합니다. 다음과 같습니다:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script type="text/javascript">
    //메서드1, 이 방법은 함수 이름 fac이 새 함수를 가리키게 되면 재귀적 대수를 구현할 수 없습니다
//    function fac(num) {
//      if (num <= 1) {
//        return 1;
//      }
//      else {
//        return num * fac(num - 1);
//      }
    //메서드2
    function fac(num) {
      if (num <= 1) {
        return 1;
      }
      else {
        return num * arguments.callee(num - 1);  //arguments.callee는 현재 메서드의 참조를 나타냅니다
      }
    }
    window.onload = function () {
      var func = fac;
      fac = function () {  //새 함수를 가리킵니다
        return 1;
      }
      alert(func(5));  //방법 1을 사용하여 출력5, 방법 2를 사용하여 출력5의 대수
      alert(fac(5));   //출력1
    }
  </script>
</head>
<body>
</body>
</html>

제이스크립트와 관련된 더 많은 내용에 대해 관심이 있는 독자는 이 사이트의 특辑을 확인해 주세요: 《제이스크립트 배열 작업 기술 요약》、《제이스크립트 수학 연산 사용법 요약》、《제이스크립트 데이터 구조 및 알고리즘 기술 요약》、《제이스크립트 효과 및 기술 요약》、《제이스크립트 검색 알고리즘 기술 요약》、《제이스크립트 애니메이션 및 기술 요약》、《제이스크립트 오류 및 디버깅 기술 요약》 및 《제이스크립트 탐색 알고리즘 및 기술 요약》

이 문서에서 설명된 내용이 여러분의 제이스크립트 프로그램 설계에 도움이 되길 바랍니다.

선언: 이 문서의 내용은 인터넷에서 가져왔으며, 저작권자에게 소유됩니다. 내용은 인터넷 사용자가 자발적으로 기여하고 업로드한 것이며, 이 사이트는 소유권을 가지지 않으며, 인공 편집을 거치지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 침해가 의심되는 내용을 발견하면, 이메일을 보내 주세요: notice#oldtoolbag.com(이메일을 보내면, #을 @으로 변경해 주세요. 신고하고 관련 증거를 제공하시면, 사이트는 즉시 저작권 침해 내용을 삭제합니다。)