Maison > interface Web > js tutoriel > Fonction récursive en JS

Fonction récursive en JS

高洛峰
Libérer: 2017-02-08 15:24:43
original
1599 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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 !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal