Je ne donnerai pas d'explication textuelle détaillée, écrivez simplement le code directement, c'est très clair.
<script> function sum(num){ if(num<=1){ return 1; }else{ return num*sum(num-1); //return num*arguments.callee(num-1); //指针 //return 2; } } var sum1=sum; alert(sum1(2)); </script>
Le code ci-dessus est sujet à des problèmes lors de son exécution. Nous introduisons une méthode d'exécution, arguments.callee, qui est un pointeur vers la fonction en cours d'exécution. L'utilisation de pointeurs au lieu de noms de fonction rend moins susceptible de se tromper lors de l'exécution. ci-dessus le code !
Le code ci-dessus est une note sur l'utilisation des fonctions récursives en JavaScript. J'espère qu'il sera utile à tout le monde.