Inleiding tot recursieve functie in JavaScript

Javascript is een tolk en een scripttaal op hoog niveau die de basis vormt van HTML en webgebaseerde programmeertaal. Een recursieve functie is degene die zichzelf aanroept om een ​​verwachte output te genereren. Voor een beter begrip kunt u denken aan de faculteit van een nummerfunctie die kan worden aangehaald als het perfecte voorbeeld van een recursiefunctie in Javascript. In dit onderwerp gaan we meer te weten over de recursieve functie in JavaScript.

Recursie wordt ook gedefinieerd als het programmeringspatroon dat vaak nuttig is in gevallen waarin een bepaald geval of taak gemakkelijk kan worden opgesplitst in verschillende kleinere subtaken die specifiek van dezelfde soort zijn, maar natuurlijk veel eenvoudiger van aard zijn. Wanneer een functie een bepaalde taak uitvoert, kan het vele functies als tussenproducten oproepen om te verwerken en wanneer het zichzelf doet, wordt het een recursieve functie genoemd.

Syntaxis van recursieve functie

function func_name(var1, var2) (
//variable declaration
// code block and actual logic
for (initialisation; condition)
)
//loop code block and returning the result
)
//recursively calling a function
func_name(num1, num2)

Uitleg

  • In de hierboven beschreven syntaxis hebben we geprobeerd het concept van recursieve functies in Javascript te begrijpen door gebruik te maken van een lusconstructie. In het begin hebben we een functie aangegeven met de naam func_name die onze basisentiteit vormt en alle volgende code wordt in dat functieblok geschreven.
  • Vervolgens geven we in de functienaam twee parameters door de namen van var1 en var2 die de variabelen en hun waarden verklaren. Daarna komt het variabele declaratiegedeelte waar we de variabelen en andere waarden schrijven die nodig zijn voor onze codelogica en posten dat de werkelijke codelogica wordt geïmplementeerd.
  • In dit geval maken we gebruik van for lus om ons codelogicablok te schrijven. Zodra de code is geschreven, wordt het nodig om die functie-instructie te herhalen, dwz recursief dat functieblok aan te roepen, dat in dit geval func_name is en daarom zullen we twee getalargumentwaarden doorgeven als parameters in de func_name buiten de for-lus, zodat de functie wordt opnieuw aangeroepen totdat en tenzij de doorgegeven waarden zijn verbruikt.
  • Dit is hoe een recursiefunctie in JavaScript wordt geïmplementeerd. Een punt dat hier moet worden opgemerkt, is dat we geen gebruik maken van de iteratieve voorwaarde in for lus, omdat die voorwaarde wordt vervuld door de recursieve functie in de aanroep.

Hoe werkt de recursieve functie in JavaScript?

Omdat JavaScript een web-georiënteerde taal is, kan de recursieve functie worden geïmplementeerd door gebruik te maken van for loop of door while loop. In het geval van een recursieve functie, is het hoofddoel van het programma om de hoofdtaak te verminderen in veel kleinere subtaken totdat de subtaak niet voldoet aan de voorwaarde en niet binnen de lus of een codeblok dat binnen de functie is geschreven niet binnenkomt . Het is niet noodzakelijk dat een lusinstructie moet worden gebruikt voor het implementeren van recursie, maar het kan ook worden gedaan door gebruik te maken van voorwaardelijke blokken van instructies zoals if-else-constructen.

Voorbeelden van recursieve functie in JavaScript

Laten we dit begrijpen aan de hand van verschillende voorbeelden.

Voorbeeld 1

Laten we dit begrijpen met de pow-functie, de verkorte vorm voor macht. In dit voorbeeld zullen we lezen over pow (a, b) die de macht van a verhoogt tot het natuurlijke aantal b. als je in andere bewoordingen spreekt, betekent dit dat a met zichzelf b maal moet worden vermenigvuldigd.

//declaration of function power
function pow(a, b) (
//writing if condition and checking if it has broken into simplest task already
if (b == 1) (
//returning the value which needs to be reiterated
return a;
) else (
return a * pow(a, b - 1);
)
)
//recursively calling the function pow by passing two values to process
alert( pow(2, 3) );

Output:

In dit voorbeeld roepen we recursief de functie pow aan en berekenen we de kracht van 2, 3 keer, wat het resultaat 8 zou moeten opleveren. Wanneer pow wordt aangeroepen, wordt het uitvoeringsblok opgedeeld in twee categorieën op basis van voorwaardelijke verklaringen. De eerste zal het hebben over de if-instructie waarbij if a == 1 = b en de tweede verwijst naar het deel van het blok waar a wordt vermenigvuldigd met de resultante van de macht van a en b-1.

Voorbeeld 2

In dit tweede voorbeeld gaan we een ander zeer populair voorbeeld van de recursieve functie bestuderen. Het staat bekend als het vinden van de faculteit van een getal. Als je het hebt over het vinden van de faculteit van een getal, bedoel je het aantal te vermenigvuldigen met alle daaropvolgende afnemende waarden tot 1.

De fragmentformule voor het vinden van de faculteit van een getal is:

b! = 1 iff b=0
else if (b-1)! *b iff b>0

Laten we proberen deze formule te begrijpen met behulp van een voorbeeld. De faculteit van 4 is 4 * 3 * 2 * 1 = 24.

Code:

//declaring a function func
function fact(b) (
//declaring a variable
var res = 1;
//for loop to find the factorial of the number
for (let i = b; i > 1; i--) (
//fetching and consolidating the result statement
res *= i;
)
//returning the result which contains the factorial of the number b
return res;
)

Output:

In de hierboven beschreven code wordt de faculteit uit elke waarde gehaald die binnen de functie met de naam fact wordt doorgegeven en is de waarde res verantwoordelijk voor het berekenen van de waarde.

Voorbeeld 3

In dit voorbeeld zullen we zien hoe de recursiefunctie wordt gebruikt bij de implementatie van tellers door gebruik te maken van de if-else-lus.

Code:

//declaring a function value
var Cdown = function(val) (
//checking if the value is greater than 0
if (val > 0) (
//documenting and logging the console output
console.log(val);
return Cdown(val - 1);
) else (
return val;
)
);
Cdown(5);

Output:

In dit voorbeeld wordt de waarde 5 vastgelegd als de uitvoer van de functie Cdown en wordt de faculteit berekend.

Aanbevolen artikelen

Dit is een handleiding voor recursieve functies in JavaScript. Hier bespreken we de syntaxis en hoe recursieve functie werkt in JavaScript, samen met verschillende voorbeelden. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Patronen in JavaScript
  2. Voor lus in JavaScript
  3. JavaScript-objecten
  4. Case Statement in JavaScript