Johdatus rekursiiviseen toimintaan JavaScript-ohjelmassa

Javascript on tulkki ja korkean tason skriptikieli, joka muodostaa HTML: n ja web-pohjaisen ohjelmointikielen perustan. Rekursiivinen toiminto on se, joka kutsuu itseään odotetun tuloksen tuottamiseksi. Ymmärtämisen helpottamiseksi voit ajatella numerofunktiota, joka voidaan mainita täydellisenä esimerkkinä rekursiofunktiosta Javascriptissa. Tässä aiheesta aiomme oppia rekursiivisesta toiminnosta JavaScriptillä.

Rekursio määritellään myös ohjelmointikuviona, joka on usein hyödyllinen tapauksissa, joissa tietty tapaus tai tehtävä voidaan helposti jakaa useisiin pienempiin alatehtäviin, jotka ovat nimenomaan samanlaisia, mutta luonnollisesti paljon yksinkertaisempia. Aina kun funktio suorittaa tietyn tehtävän, se voi kutsua monia toimintoja välituotteiksi prosessoitavaksi ja kun se tekee itselleen, sitä kutsutaan rekursiiviseksi funktioksi.

Rekursiivisen funktion syntaksi

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)

Selitys

  • Yllä selitetyssä syntaksissa olemme yrittäneet ymmärtää Javascriptin rekursiivisten funktioiden käsitteen hyödyntämällä silmukkarakennetta. Alussa olemme ilmoittaneet funktion func_name nimellä, joka muodostaa peruskokonaisuuden, ja kaikki seuraavat koodit kirjoitetaan kyseisen toimintolohkon sisään.
  • Seuraavaksi funktionimessä välitetään kaksi parametria nimillä var1 ja var2, jotka selittävät muuttujat ja niiden arvot. Sen jälkeen tulee muuttujien ilmoitusosa, johon kirjoitamme muuttujat ja muut arvot, joita tarvitaan koodilogiikkaamme, ja ilmoitamme, että varsinainen koodilogiikka toteutetaan.
  • Tässä tapauksessa käytämme silmukkaa kirjoittamaan koodilogiikkalohkon. Kun koodi on kirjoitettu, tulee tarpeen toistaa tämä funktiolause, ts. Kutsua toistaiseksi funktiolohko, joka on func_name tässä tapauksessa, ja siksi me välitämme kaksi numeroargumenttiarvoa parametrina func_name-muodossa silmukan ulkopuolelle siten, että funktio kutsutaan uudelleen, kunnes ja elleivät kuluneet arvot kuluteta.
  • Näin rekursiointitoiminto toteutetaan JavaScript-ohjelmassa. Yksi huomionarvoinen seikka on, että emme käytä iteratiivista ehtoa silmukassa, koska rekursiivinen funktio huolehtii kyseisestä ehdosta puhelussaan.

Kuinka rekursiivinen toiminto toimii JavaScriptillä?

Koska JavaScript on verkkoorientoitunut kieli, rekursiivinen toiminto voidaan toteuttaa hyödyntämällä silmukkaa tai silmukkaa. Rekursiivisen funktion tapauksessa ohjelman päätarkoitus on pienentää päätehtävä moniin pienempiin alatehtäviin, kunnes alitehtävä ei täytä ehtoa ja ei pääse silmukkaan tai toimintoon kirjoitettuun koodilohkoon . Ei ole välttämätöntä, että mitä tahansa silmukkalauseketta on käytettävä rekursion toteuttamiseen, mutta se voidaan tehdä myös hyödyntämällä lausekkeiden ehdollisia lohkoja, kuten if-else -konstrukteja.

Esimerkkejä rekursiivisesta toiminnasta JavaScript-sovelluksessa

Ymmärtäkäämme se useiden esimerkkien avulla.

Esimerkki # 1

Ymmärtäkäämme tämä Pow-toiminnolla, joka on lyhennetty muoto valtaan. Tässä esimerkissä luemme luvusta pow (a, b), joka nostaa a: n voiman luonnolliseen lukuun b. jos puhut muilla termeillä, se tarkoittaa, että a on kerrottava itsestään b monta kertaa.

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

lähtö:

Tässä esimerkissä kutsutaan rekursiivisesti funktiota pow ja lasketaan 2, 3 kertaa teho, jonka pitäisi tuottaa tulos 8. Kun Pow kutsutaan, suorituslohko jaetaan kahteen luokkaan ehdollisten lauseiden perusteella. Ensimmäinen puhuu if-lauseesta, jos if = = 1 = b ja toinen viittaa lohkon toiseen osaan, jossa a kerrotaan a: n ja b-1: n tehon tuloksella.

Esimerkki 2

Tässä toisessa esimerkissä aiomme tutkia toista erittäin suosittua esimerkkiä rekursiivisesta funktiosta. Sitä kutsutaan numeron tekijän löytämiseksi. Kun puhut luvun tekijän löytämisestä, tarkoitat luvun ja sen myöhempien laskuarvojen kertomista 1: ksi.

Katkelmakaava numeron tekijän löytämiseksi on:

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

Yritetään ymmärtää tämä kaava esimerkin avulla. Kerroin 4 on 4 * 3 * 2 * 1 = 24.

Koodi:

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

lähtö:

Yllä selitetyssä koodissa tekijä otetaan pois mistä tahansa arvosta, joka välitetään funktion nimeltä tosiasia, ja arvo res on vastuussa arvon laskemisesta.

Esimerkki 3

Tässä esimerkissä näemme, kuinka rekursiotoimintoa käytetään laskurien toteutuksessa hyödyntämällä if-else-silmukkaa.

Koodi:

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

lähtö:

Tässä esimerkissä arvo 5 kirjataan Cdown-funktion tuotokseksi ja laskee tekijän.

Suositellut artikkelit

Tämä on opas rekursiiviseen toimintaan JavaScriptillä. Tässä keskustellaan sen syntaksista ja siitä, kuinka rekursiivinen toiminto toimii JavaScriptissä, sekä erilaisia ​​esimerkkejä. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -

  1. Kuviot JavaScript
  2. Loop-palvelussa JavaScript
  3. JavaScript-objektit
  4. Tapauslauseke JavaScriptissä