Sissejuhatus JavaScripti rekursiivsesse funktsiooni

Javascript on tõlk ja kõrgetasemeline skriptikeel, mis on HTML-i ja veebipõhise programmeerimiskeele alus. Rekursiivne funktsioon on see, mis kutsub ennast esile eeldatava väljundi genereerimiseks. Lihtsamaks mõistmiseks võite mõelda numbrifunktsiooni faktoriaalile, mida võib Javascriptis nimetada rekursioonifunktsiooni täiuslikuks näiteks. Selles teemas tutvume JavaScripti rekursiivse funktsiooniga.

Rekursiooni määratletakse ka kui programmeerimismustrit, mis on sageli kasulik juhtudel, kui konkreetset juhtumit või ülesannet saab hõlpsalt jagada mitmeks väiksemaks alamülesandeks, mis on konkreetselt samasugused, kuid oma olemuselt muidugi palju lihtsamad. Kui funktsioon täidab konkreetset ülesannet, võib see kutsuda paljusid funktsioone töödeldavate vaheühenditena ja kui see toimib ise, siis nimetatakse seda rekursiivseks funktsiooniks.

Rekursiivse funktsiooni süntaks

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)

Seletus

  • Ülaltoodud süntaksis oleme püüdnud mõista Javascripti rekursiivsete funktsioonide kontseptsiooni, kasutades seda silmuskonstruktsiooni jaoks. Alguses oleme funktsiooni deklareerinud func_name nime järgi, mis moodustab meie põhiolemite ja kõik järgmised koodid kirjutatakse sellesse funktsiooniplokki.
  • Järgmisena edastame funktsiooni nimes kaks parameetrit var1 ja var2 nimedega, mis selgitavad muutujaid ja nende väärtusi. Pärast seda tuleb muutuja deklareerimise osa, kuhu kirjutame muutujad ja muud väärtused, mis on vajalikud meie koodiloogika jaoks, ja postitame, et tegelik koodiloogika rakendatakse.
  • Sel juhul kasutame koodiloogikaploki kirjutamiseks silmust. Kui kood on kirjutatud, tuleb seda funktsiooni lauset korrata, st kutsuda funktsiooniplokk, mis on sel juhul func_name, rekursiivselt helistama ja seetõttu edastame funktsiooni_nimi parameetrina kaks numbriargumendi väärtust väljaspool silmust nii, et funktsioon kutsutakse uuesti, kuni ja kuni väärtus pole kulunud.
  • Nii rakendatakse JavaScriptis rekursioonifunktsioon. Siinkohal tuleb märkida, et me ei kasuta silmuse korral iteratiivset tingimust, kuna seda tingimust katab tema üleskutses rekursiivne funktsioon.

Kuidas rekursiivne funktsioon JavaScriptis töötab?

Kuna JavaScript on veebile orienteeritud keel, saab rekursiivset funktsiooni rakendada, kasutades selleks silmus või ahel. Rekursiivse funktsiooni korral on programmi põhieesmärk jaotada põhiülesanne paljudeks väiksemateks alamülesanneteks, kuni alamülesanne ei vasta tingimusele ja ei sisene ahelasse ega funktsiooni sisse kirjutatud koodiplokki . Rekursiooni rakendamiseks ei ole vaja kasutada mingeid silmuslauseid, vaid seda saab teha ka tingimuslike lauseplokkide, näiteks if-else konstruktsioonide abil.

Näited rekursiivsest funktsioonist JavaScriptis

Mõistagem seda erinevate näidete abil.

Näide nr 1

Mõistagem seda Pow-funktsiooniga, mis on võimu lühivorm. Selles näites loeme Pow (a, b) kohta, mis suurendab a võimsuse naturaalarvuni b. kui räägite teisiti, tähendab see, et a tuleb korrutada iseenesest b mitu korda.

//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) );

Väljund:

Selles näites kutsume rekursiivselt funktsiooni pow ja arvutame võimsuse 2, 3 korda, mis peaks andma tulemuse 8. Kui kutsutakse Pow, jagatakse täitmisplokk tinglike avalduste põhjal kahte kategooriasse. Esimene neist räägib if-lause kohta, kus a == 1 = b, ja teine ​​osutab ploki muule osale, kus a korrutatakse a ja b-1 võimsuse tulemusega.

Näide 2

Selles teises näites uurime veel ühte väga populaarset rekursiivse funktsiooni näidet. Seda tuntakse kui arvu faktoreali leidmist. Kui räägite arvu faktoreali leidmisest, peate silmas arvu ja kõigi sellele järgnevate langevate väärtuste korrutamist arvuga 1.

Numbri faktoriaalide leidmise lõigu valem on järgmine:

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

Proovime näite abil seda valemit mõista. Faktoriaal 4 on 4 * 3 * 2 * 1 = 24.

Kood:

//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;
)

Väljund:

Ülalpool selgitatud koodis võetakse faktoriaal väärtusest, mis kantakse funktsiooni nimega fakt, ja väärtuse res arvutab väärtus res.

Näide 3

Selles näites näeme, kuidas loendurite rakendamisel kasutatakse rekursioonifunktsiooni, kasutades silmust if-else.

Kood:

//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);

Väljund:

Selles näites logitakse väärtus 5 funktsiooni Cdown väljundina ja arvutatakse faktoriaal.

Soovitatavad artiklid

See on juhend JavaScripti rekursiivse funktsiooni kohta. Siin käsitleme selle süntaksit ja seda, kuidas rekursiivne funktsioon JavaScriptis töötab, koos erinevate näidetega. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. Mustrid JavaScriptis
  2. Loop jaoks JavaScriptis
  3. JavaScripti objektid
  4. Juhtumi avaldus JavaScriptis

Kategooria: