ฟังก์ชันในฐานะตัวแปรใน JavaScript
ดังนั้น ในบทเรียนที่ผ่านมาเราพบว่า การอ้างอิงถึงฟังก์ชันโดยไม่มีวงเล็บ ทำให้เราได้ซอร์สโค้ดของมัน
ที่จริงแล้วทุกอย่างน่าสนใจกว่ามาก ใน JavaScript ซึ่งแตกต่างจากภาษาอื่น ฟังก์ชันเป็น ค่าของตัวแปรเช่นเดียวกับตัวเลข สตริงและอาร์เรย์
ลองดูตัวอย่าง สมมติว่าเรามี
ฟังก์ชัน func ตัวอย่างเช่น:
function func() {
console.log('!');
}
ในความเป็นจริงเราไม่มีฟังก์ชัน func
เรามีตัวแปร func ที่เก็บ
ซอร์สโค้ดของฟังก์ชันไว้ภายใน
เราสามารถเขียนทับตัวแปร
func ด้วยสิ่งอื่นได้ เช่น
สตริง ในกรณีนี้ ฟังก์ชัน func
จะไม่เป็นฟังก์ชันอีกต่อไป แต่จะเป็นสตริง
ดูตัวอย่าง:
function func() {
console.log('!');
}
func(); // แสดงผล '!'
func = 'string'; // เขียนทับตัวแปร func
console.log(func); // แสดงผล 'string'
สร้างฟังก์ชัน func ที่จะ
คืนค่าผ่าน return เป็นสตริงใดๆ
แสดงผลลัพธ์การทำงานของฟังก์ชัน func
ในคอนโซล
แสดงซอร์สโค้ดของฟังก์ชัน func
ในคอนโซล
กำหนดค่าให้ตัวแปร func เป็นตัวเลข 123
เป็นการเขียนทับฟังก์ชันจากตัวแปรนี้
แสดงค่าใหม่ของตัวแปร func
ในคอนโซล