Wprowadzenie do funkcji rekurencyjnej w JavaScript

JavaScript to interpreter i język skryptowy wysokiego poziomu, który stanowi podstawę języka HTML i języka programowania internetowego. Funkcja rekurencyjna to taka, która wywołuje się w celu wygenerowania oczekiwanego wyniku. Aby ułatwić zrozumienie, możesz pomyśleć o silni funkcji liczbowej, która może być cytowana jako doskonały przykład funkcji rekurencji w JavaScript. W tym temacie poznamy funkcję rekurencyjną w JavaScript.

Rekurencja jest również definiowana jako wzorzec programowania, który jest często przydatny w przypadkach, w których konkretny przypadek lub zadanie można łatwo podzielić na kilka mniejszych pod-zadań, które są konkretnie tego samego rodzaju, ale oczywiście o wiele prostsze z natury. Ilekroć funkcja wykonuje określone zadanie, może wywoływać wiele funkcji jako pośredników w przetwarzaniu, a gdy robi to sama, jest nazywana funkcją rekurencyjną.

Składnia funkcji rekurencyjnej

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)

Wyjaśnienie

  • W objaśnionej powyżej składni próbowaliśmy zrozumieć koncepcję funkcji rekurencyjnych w JavaScript, wykorzystując konstrukcję do zapętlania. Na początku zadeklarowaliśmy funkcję o nazwie func_name, która tworzy naszą podstawową jednostkę, a cały następujący kod zostanie zapisany w tym bloku funkcji.
  • Następnie w nazwie funkcji przekazujemy dwa parametry o nazwach var1 i var2, które wyjaśniają zmienne i ich wartości. Potem przychodzi część deklaracji zmiennych, w której napiszemy zmienne i inne wartości wymagane dla naszej logiki kodu i poinformujemy, że rzeczywista logika kodu zostanie zaimplementowana.
  • W tym przypadku używamy pętli for do napisania naszego bloku logicznego kodu. Po napisaniu kodu konieczne jest powtórzenie tej instrukcji funkcji, tzn. Rekurencyjne wywołanie tego bloku funkcyjnego, który w tym przypadku jest func_name, i dlatego przekażemy dwie wartości liczbowe argumentów jako parametry w func_name poza pętlę for, tak że funkcja jest wywoływany ponownie do momentu, aż przekazane wartości zostaną zużyte.
  • W ten sposób funkcja JavaScript jest implementowana w JavaScript. Należy tutaj zauważyć, że nie używamy warunku iteracyjnego w pętli for, ponieważ warunek ten zostanie pokryty przez funkcję rekurencyjną w jego wywołaniu.

Jak działa funkcja rekurencyjna w JavaScript?

Ponieważ JavaScript jest językiem internetowym, funkcję rekurencyjną można zaimplementować, korzystając z pętli for lub pętli while. W przypadku funkcji rekurencyjnej głównym celem programu jest zmniejszenie głównego zadania na wiele mniejszych zadań podrzędnych, dopóki podzadanie nie spełni warunku i nie wejdzie do pętli lub do dowolnego bloku kodu zapisanego w funkcji . Nie jest konieczne, aby do implementacji rekurencji używać jakiejkolwiek instrukcji pętli, ale można to również zrobić, wykorzystując warunkowe bloki instrukcji, takie jak konstrukcje if-else.

Przykłady funkcji rekurencyjnej w JavaScript

Rozumiemy to za pomocą różnych przykładów.

Przykład 1

Rozumiemy to dzięki funkcji pow, która jest skrótową formą władzy. W tym przykładzie będziemy czytać o pow (a, b), który podnosi moc a do naturalnej liczby b. jeśli mówisz inaczej, oznacza to, że a należy pomnożyć przez siebie b liczbę razy.

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

Wynik:

W tym przykładzie rekurencyjnie wywołujemy funkcję pow i obliczamy potęgę 2, 3 razy, co powinno dać wynik 8. Po wywołaniu pow blok wykonawczy jest dzielony na dwie kategorie na podstawie instrukcji warunkowych. Pierwszy będzie mówić o instrukcji if, gdzie a == 1 = b, a drugi odnosi się do innej części bloku, w którym a jest pomnożone przez wypadkową mocy a i b-1.

Przykład nr 2

W tym drugim przykładzie zajmiemy się innym bardzo popularnym przykładem funkcji rekurencyjnej. Znane jest to jako znajdowanie silni liczby. Kiedy mówimy o znalezieniu silni liczby, mamy na myśli pomnożenie liczby i wszystkich kolejnych malejących wartości do 1.

Formuła fragmentu znajdująca silnię liczby jest następująca:

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

Spróbujmy zrozumieć tę formułę na przykładzie. Silnia 4 wynosi 4 * 3 * 2 * 1 = 24.

Kod:

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

Wynik:

W objaśnionym powyżej kodzie silnia zostanie wyjęta z dowolnej wartości, która jest przekazywana wewnątrz funkcji o nazwie fakt, a wartość res będzie odpowiedzialna za obliczenie wartości.

Przykład nr 3

W tym przykładzie zobaczymy, jak funkcja rekurencji jest używana w implementacji liczników, wykorzystując pętlę if-else.

Kod:

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

Wynik:

W tym przykładzie wartość 5 zostanie zarejestrowana jako wynik funkcji Cdown i obliczy silnię.

Polecane artykuły

Jest to przewodnik po funkcji rekurencyjnej w JavaScript. Tutaj omawiamy jego składnię i sposób działania funkcji rekurencyjnej w JavaScript wraz z różnymi przykładami. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Wzory w JavaScript
  2. Dla pętli w JavaScript
  3. Obiekty JavaScript
  4. Instrukcja Case w JavaScript