Dans les langages de programmation, lorsque la fonction Func(Type a,...) appelle directement ou indirectement la fonction elle-même, la fonction est appelée fonction récursive. Les fonctions récursives ne peuvent pas être définies comme des fonctions en ligne.
Fonction récursive :
function factorical(num){ if(num<=1){ return 1; } else{ return num*factorical(num-1); } } factorial(2)//2
Cette fonction récursive utilise une fonction pour appeler la fonction elle-même, mais est-ce vraiment bien ? , d'accord, regarde ici ensuite
var another=factorical; factorical=null; console.log(another(2))//会报错说 factorical not a function
C'est l'inconvénient de la fonction d'appel de fonction, alors comment le résoudre, regardez ci-dessous
function factorical(num){ if(num<=1){ return 1; } else{ return num*arguments.callee(num-1); } } var another=factorical; factorical=null; console.log(another(2))//2
L'utilisation d'arguments.callee au lieu du nom de la fonction ci-dessus garantit qu'aucune erreur ne se produit, quelle que soit la manière dont la fonction est appelée.
Ce qui précède est la fonction récursive dans JS présentée par l'éditeur. J'espère qu'elle vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra. vous à temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !
Pour plus d'articles liés aux fonctions récursives en JS, veuillez faire attention au site Web PHP chinois !