JavaScript ถือว่าฟังก์ชันเป็นออบเจ็กต์และอนุญาตให้เราส่งฟังก์ชันต่างๆ เป็นพารามิเตอร์ไปยังฟังก์ชันอื่น และส่งคืนฟังก์ชันจากฟังก์ชันอื่นๆ ได้ ใน JavaScript ฟังก์ชันต่างๆ เป็นฟังก์ชันระดับเฟิร์สคลาส ซึ่งหมายความว่าเราสามารถจัดเก็บไว้ในตัวแปร อ็อบเจ็กต์ และอาร์เรย์ได้ ฟังก์ชันลำดับที่สูงกว่าสามารถรับฟังก์ชัน ส่งคืน หรือทำทั้งสองอย่างได้
ต่อไปนี้เป็นรหัสเพื่อใช้งานฟังก์ชันระดับเฟิร์สคลาสใน JavaScript -
ตัวอย่าง
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result, .sample { font-size: 18px; font-weight: 500; color: rebeccapurple; } .result { color: red; } </style> </head> <body> <h1>First class function in Javascript</h1> <div class="sample">[22,33,44,55]</div> <br /> <div class="result"></div> <br /> <button class="Btn">CLICK HERE</button> <h3>Click on the above button to double each element of the above array</h3> <script> let resEle = document.querySelector(".result"); let BtnEle = document.querySelector(".Btn"); let doubleNum = (ele) => { return ele * 2; }; let arr = [22, 33, 44, 55]; function doubleArray(arr, fn) { let doubleArr = []; arr.forEach((element) => { doubleArr.push(doubleNum(element)); }); return doubleArr; } BtnEle.addEventListener("click", () => { resEle.innerHTML = "New array = " + doubleArray(arr, doubleNum); }); </script> </body> </html>
ผลลัพธ์
เมื่อคลิกปุ่ม 'คลิกที่นี่' -