อาร์เรย์ของฟังก์ชันแบบไม่ระบุชื่อใน JavaScript
ผมได้กล่าวไว้ก่อนหน้านี้แล้วว่าฟังก์ชันใน JavaScript มีพฤติกรรมเหมือนกับสตริงหรือตัวเลข โดยเฉพาะอย่างยิ่ง เราสามารถสร้างอาร์เรย์ที่ประกอบด้วยฟังก์ชันได้ มาลองสร้างกัน:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
ตัวอย่างเช่น ลองแสดงเนื้อหาขององค์ประกอบศูนย์ของอาร์เรย์ ในคอนโซล:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
console.log(arr[0]); // จะเห็นซอร์สโค้ดของฟังก์ชันแรก
ดังที่คุณเห็นในตัวอย่างด้านบน เราได้รับ ซอร์สโค้ดของฟังก์ชัน แทนที่จะเป็นผลลัพธ์
เพื่อที่จะเรียกใช้ฟังก์ชันได้ จำเป็นต้องเติมวงเล็บ
เนื่องจากฟังก์ชันของเราถูกเก็บไว้ใน arr[0] ดังนั้น
จึงต้องเขียนวงเล็บหลังวงเล็บเหลี่ยม ดังนี้
arr[0]() มาลองตรวจสอบ:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
arr[0](); // จะแสดง '1'
นอกจากนี้เรายังสามารถวนลูปผ่านอาร์เรย์ของฟังก์ชันของเรา และในลูปนั้นเรียกใช้ฟังก์ชันแต่ละฟังก์ชันได้:
let arr = [
function() {console.log('1')},
function() {console.log('2')},
function() {console.log('3')},
];
for (let func of arr) {
func(); // เรียกใช้ฟังก์ชันของเราในลูป
}
สร้างอาร์เรย์ arr ที่ประกอบด้วยฟังก์ชันสามฟังก์ชัน
ให้ฟังก์ชันแรกคืนค่า (ผ่าน return)
ตัวเลข 1 ฟังก์ชันที่สอง - ตัวเลข 2
ฟังก์ชันที่สาม - ตัวเลข 3
ใช้อาร์เรย์ arr ที่คุณสร้างขึ้น
แสดงตัวเลข 3 ในคอนโซล โดยการเรียก
ฟังก์ชันที่เกี่ยวข้อง
ใช้อาร์เรย์ arr ที่คุณสร้างขึ้น
หาผลรวมของผลลัพธ์ของฟังก์ชัน (โดยไม่ใช้ลูป)
วนลูปผ่านอาร์เรย์ arr ที่คุณสร้างขึ้น
และแสดงผลลัพธ์ของการทำงานของฟังก์ชันทั้งหมด
ในคอนโซล