GAJAX บทที่ 15 การเขียนฟังก์ชั่นด้วย Javascript
การเขียนฟังก์ชั่นด้วย Javascript
ใน Javascript นั้น ฟังก์ชั่นถูกมองว่าเป็น Object หนึ่งซึ่งอาจมี property ได้ เหมือน Object ทั่วไป รูปแบบการเขียนฟังก์ชั่น สามารถเป็นไปได้ 2 ลักษณะคือ
1. ฟังก์ชั่นในรูปแบบที่เราคุ้นเคยกันดี ตามตัวอย่าง ฟังก์ชั่นนี้ชื่ิอ doShow
function doShow() {
// do somethiong
alert(value);
};
2. ฟังก์ชั่นที่ไม่มีชื่อ เป็นรูปแบบหนึ่งของฟังก์ชั่น บน Javascript ซึ่งฟังก์ชั่นนี้จะมีบทบาทอย่างมากสำหรับการนำไปใช้กับ Frame Work
function() {
// do somethiong
};
ถ้าสังเกตุดู จะเห็นได้ว่า ฟังก์ชั่นในรูปแบบที่ 2 ดูไม่ค่อยมีประโยชน์ เนื่องจากว่าเราไม่รู้จะเรียกใช้มันยังไง แต่ในเมื่อฟังก์ชั่นบน Javascript เป็น Object ดังนั้นมันย่อมถูกอ้างถึงโดยใช้ตัวแปรอ้างอิงได้ เช่น
var doShow= function(value) {
// do somethiong
alert(value);
};
จากโค้ด ถ้าเราต้องการเรียกใช้ฟังก์ชั่นนี้ เราก็สามารถเรียกฟังก์ชั่นผ่านตัวแปร doShow ได้ หรือ อาจส่งตัวแปร doShow ให้กับฟังก์ชั่นอื่นเพื่อนำไปใช้งานต่อได้
doShow('demo'); // แสดงข้อความ demo
ตัวอย่างด้านบน อาจดูไม่เป็นประโยชน์นะครับ เนื่องจากมันก็ดูธรรมดางั้นก็ลองมาดูอีกตัวอย่างหนึ่ง
function onSucces(value){alert(value)}; // สร้างอีเวนต์เพื่อแสดงผลการทำงาน
function doShow(value, onComplete) {
// do something
onSucces(value); // เรียก event เมื่อทำงานสำเร็จ
};
doShow('test', onSucces); // เรียกใช้ doShow
ในฟังก์ชั่น doShow เราสามารถกำหนดให้ onComplete เป็นฟังก์ชั่นได้เหมือนตัวแปรธรรมดาตัวหนึ่ง ซึ่งฟังก์ชั่นที่ส่งให้กับ doShow บนพารามิเตอร์นี้จะถูกเรียกใช้เมื่อทำการเรียกฟังก์ชั่นพร้อมกับส่งพารามิเตอร์อีกตัวไปยังฟังก์ชั่นได้ด้วย
ตัวอย่างนี้จะเป็นตัวอย่างของการส่งฟังก์ชั่น ให้กับฟังก์ชั่นอีกที สำหรับประโยชน์ของมันก็เช่นการสร้างอีเว้นต์เมือปฏิบัตการโค้ดสำเร็จ เป็นต้น และมันจะเป็นเทคนิคที่จำเป็นอย่างมากสำหรับการเขียน Javascript ในระดับสูงๆต่อไป