Rumah  >  Artikel  >  hujung hadapan web  >  Apakah Rekursi dalam JavaScript

Apakah Rekursi dalam JavaScript

王林
王林asal
2024-08-08 00:50:331136semak imbas

What is Recursion in JavaScript

Rekursi ialah teknik pengaturcaraan yang berkuasa di mana fungsi memanggil dirinya sendiri untuk menyelesaikan masalah. Pendekatan ini berguna untuk isu yang dipecahkan kepada submasalah yang lebih kecil dan serupa.

  1. Keadaan Asas
  2. Panggilan Fungsi
  3. Hujah panggilan Fungsi Seterusnya

1. Keadaan Asas: Keadaan yang menghentikan panggilan rekursif. Tanpa itu, panggilan fungsi akan diteruskan selama-lamanya. Lazimnya ditetapkan menggunakan blok if-else.

2. Panggilan Fungsi: Mengetahui tempat untuk membuat panggilan rekursif adalah penting. Peletakan yang salah boleh sama ada memecahkan rekursi atau menyebabkan gelung tak terhingga.

3. Hujah untuk Panggilan Seterusnya: Pastikan hujah berubah dengan cara yang akhirnya syarat asas akan dipenuhi. Argumen yang salah boleh menghalang keadaan asas daripada dipenuhi, membawa kepada rekursi yang tidak terhingga.

1. Contoh:

  function Demo(x) {
        console.log(x);
        if (x < 10) {
          Demo(++x);
        }
  }
      let data = 0;
      Demo(data);

Output:

0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10

Bagaimana Mencari Faktorial Matematik ?

jika anda ingin mencari 5 Faktorial dalam matematik, Kami ada mencari 5 , 4 , 3 faktorial dalam matematik.

Contoh:

5 = 5 * 4 * 3 * 2 * 1 = 120
4 = 4 * 3 * 2 * 1 = 24
3 = 3 * 2 * 1 = 6

** 2.Contoh:**

Bagaimana untuk Mencari 5 Faktorial dengan menggunakan Rekursi?

function Fact(item) {
        console.log("Function Call - ",item);

        if (item == 0) {
          return 1;
        }
        return item * Fact(item - 1);
}
      let Num = 5;
      console.log(" >> 5 Factorial is: ",Fact(Num));

output:

Function Call -  5 
Function Call -  4 
Function Call -  3 
Function Call -  2 
Function Call -  1 
Function Call -  0
>> 5 Factorial is: 120

Atas ialah kandungan terperinci Apakah Rekursi dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn