Wenn in Programmiersprachen die Funktion Func(Type a,...) direkt oder indirekt die Funktion selbst aufruft, wird die Funktion als rekursive Funktion bezeichnet. Rekursive Funktionen können nicht als Inline-Funktionen definiert werden.
Rekursive Funktion:
function factorical(num){ if(num<=1){ return 1; } else{ return num*factorical(num-1); } } factorial(2)//2
Diese rekursive Funktion verwendet eine Funktion, um die Funktion selbst aufzurufen, aber ist das wirklich gut? ? , okay, schau hier als nächstes
var another=factorical; factorical=null; console.log(another(2))//会报错说 factorical not a function
Das ist der Nachteil des Funktionsaufrufs. Wie man ihn löst, siehe unten
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
Die Verwendung von arguments.callee anstelle des oben genannten Funktionsnamens stellt sicher, dass kein Fehler auftritt, egal wie die Funktion aufgerufen wird.
Das Obige ist die vom Herausgeber eingeführte rekursive Funktion. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht Sie rechtzeitig. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!
Weitere Artikel zu rekursiven Funktionen in JS finden Sie auf der chinesischen PHP-Website!