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 -
- Wzory w JavaScript
- Dla pętli w JavaScript
- Obiekty JavaScript
- Instrukcja Case w JavaScript