Dans les langages de programmation, la fonction Func (type A, ...) appelle la fonction elle-même directement ou indirectement, et la fonction est appelée fonction récursive. Les fonctions récursives ne peuvent pas être définies comme des fonctions en ligne.
Fonctions récursives:
fonction factorial (num) {if (num <= 1) {return 1; } else {return num * factoral (num-1); }} factoriel (2) // 2Cette fonction récursive utilise une fonction pour appeler la fonction elle-même, mais est-ce vraiment bon? Jetons un coup d'œil ici.
var un autre = factoriel; factoriel = null; console.log (un autre (2)) // il sera signalé une erreur disant que factorielle et non une fonction
C'est l'inconvénient des fonctions d'appel des fonctions. Comment le résoudre? Voir ci-dessous
fonction factorial (num) {if (num <= 1) {return 1; } else {return num * arguments.callee (num-1); }} var un autre = factoriel; factoriel = null; console.log (un autre (2)) // 2Les arguments ci-dessus utilisent des arguments.Callee au lieu du nom de la fonction pour s'assurer que peu importe comment la fonction est appelée, il n'y aura pas d'erreurs.
Ce qui précède est la fonction récursive de JS présentée par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!