⊗jsPmFNIF 247 of 505 menu

ฟังก์ชันที่ซ้อนกันใน JavaScript

สมมติว่าเรามีฟังก์ชันที่รับพารามิเตอร์เป็นตัวเลขสองตัวและคืนค่าผลรวมของกำลังสองของตัวเลขเหล่านี้:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // แสดงผล 13 (ผลลัพธ์ของ 2 * 2 + 3 * 3)

มาแยกการดำเนินการยกกำลังสองออกเป็นฟังก์ชันช่วยเหลือ square:

function square(num) { return num * num; } function func(num1, num2) { return square(num1) + square(num2); } console.log(func(2, 3)); // แสดงผล 13

สมมติว่าเราแน่ใจว่าฟังก์ชัน square จะถูกใช้เฉพาะในฟังก์ชัน func เท่านั้นและจะไม่ใช้ที่อื่นอีก

ในกรณีนี้ มันจะสะดวกหากทำให้ไม่มีใครใช้มันโดยไม่ได้ตั้งใจ (คุณเองหรือโปรแกรมเมอร์คนอื่นที่ทำงานร่วมกับคุณ)

ใน JavaScript มีวิธีแก้ไขที่สง่างาม: เราสามารถวางฟังก์ชันช่วยเหลือ square ของเราไว้ภายใน func ได้ ในกรณีนี้ฟังก์ชันช่วยเหลือของเราจะสามารถเข้าถึงได้เฉพาะภายใน func เท่านั้น และจะไม่สามารถเข้าถึงจากภายนอกได้

มาทำกัน:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(func(2, 3)); // แสดงผล 13

การพยายามเรียกใช้ square จากภายนอก func จะทำให้เกิดข้อผิดพลาด:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! จะเกิดข้อผิดพลาด

สร้างฟังก์ชัน func ที่จะรับพารามิเตอร์เป็นตัวเลขสองตัวและคืนค่าผลรวมของกำลังสองของตัวเลขตัวแรกกับกำลังสามของตัวเลขตัวที่สอง สร้างฟังก์ชันช่วยเหลือ square สำหรับการยกกำลังสอง และฟังก์ชันช่วยเหลือ cube สำหรับการยกกำลังสาม

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ