การทำงานกับ Recursion ใน JavaScript
ในการเขียนโปรแกรมมีแนวคิดที่เรียกว่า
Recursion - นี่คือเมื่อฟังก์ชันเรียก
ตัวมันเอง มาดูตัวอย่างกัน
แสดงตัวเลขตั้งแต่ 1
ถึง 10 โดยใช้ Recursion:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // ที่นี่ฟังก์ชันเรียกตัวมันเอง
}
}
func();
มาพูดคุยกันว่าโค้ดนี้ทำงานอย่างไร
เรามีตัวแปรระดับโลก i
และฟังก์ชัน func โดยภายในฟังก์ชันจะแสดงค่า
ของตัวแปร i ไปที่คอนโซล
แล้วทำการ ++
หากตัวแปร i ของเราน้อยกว่า
หรือเท่ากับ 10 ฟังก์ชันจะถูกเรียกซ้ำ
เนื่องจากตัวแปร i เป็นระดับโลก
ดังนั้นในทุกครั้งที่ฟังก์ชันถูกเรียกใหม่ ค่า
ของตัวแปร i ที่กำหนดในการเรียกก่อนหน้าจะยังคงอยู่
ผลลัพธ์ที่ได้คือฟังก์ชันจะเรียกตัวมันเอง
ไปเรื่อยๆ จนกว่า i จะ
มากกว่า 10
โปรดทราบว่าในกรณีของเราเราไม่สามารถเรียกฟังก์ชัน
โดยไม่มี if ได้ - หากทำเช่นนั้น
จะเกิดการเรียกฟังก์ชันแบบไม่สิ้นสุด