การทำงานกับ Recursion ใน JavaScript

ในการเขียนโปรแกรมมีแนวคิดที่เรียกว่า Recursion - นี่คือเมื่อฟังก์ชันเรียก ตัวมันเอง มาดูตัวอย่างกัน แสดงตัวเลขตั้งแต่ 1 ถึง 10 โดยใช้ Recursion:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // ที่นี่ฟังก์ชันเรียกตัวมันเอง
  }
}
func();

มาพูดคุยกันว่าโค้ดนี้ทำงานอย่างไร

เรามีตัวแปรระดับโลก i และฟังก์ชัน func โดยภายในฟังก์ชันจะแสดงค่า ของตัวแปร i ไปที่คอนโซล แล้วทำการ ++

หากตัวแปร i ของเราน้อยกว่า หรือเท่ากับ 10 ฟังก์ชันจะถูกเรียกซ้ำ เนื่องจากตัวแปร i เป็นระดับโลก ดังนั้นในทุกครั้งที่ฟังก์ชันถูกเรียกใหม่ ค่า ของตัวแปร i ที่กำหนดในการเรียกก่อนหน้าจะยังคงอยู่

ผลลัพธ์ที่ได้คือฟังก์ชันจะเรียกตัวมันเอง ไปเรื่อยๆ จนกว่า i จะ มากกว่า 10

โปรดทราบว่าในกรณีของเราเราไม่สามารถเรียกฟังก์ชัน โดยไม่มี if ได้ - หากทำเช่นนั้น จะเกิดการเรียกฟังก์ชันแบบไม่สิ้นสุด