สรุปภาษาฟังก์ชัน ECMAScript
- หน้าก่อนหน้า สัญญาณ switch
- หน้าต่อไป วัตถุ arguments
อะไรคือฟังก์ชัน?
ฟังก์ชันเป็นกลุ่มคำสั่งที่สามารถปฏิบัติงานได้ทุกที่และทุกเวลา
ฟังก์ชันเป็นส่วนใหญ่ของ ECMAScript
ฟังก์ชันประกาศด้วยวิธีดังนี้: คำสั่ง function ชื่อฟังก์ชัน กลุ่มพารามิเตอร์ และรหัสที่ต้องการปฏิบัติการที่อยู่ในวงเปิดรอบไขว้
กฎระเบียบของฟังก์ชันมีลักษณะเช่นนี้:
function functionName(arg0, arg1, ... argN) { statements }
ตัวอย่าง:
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage); }
แบบเรียกฟังก์ชัน?
ฟังก์ชันสามารถเรียกด้วยชื่อฟังก์ชันและพารามิเตอร์ที่อยู่ในวงเปิดรอบไขว้ หากมีหลายพารามิเตอร์
หากคุณต้องการเรียกฟังก์ชันที่ใช้ในตัวอย่างดังกล่าว คุณสามารถใช้โค้ดดังนี้:
sayHi("David", " Nice to meet you!")
เรียกฟังก์ชัน sayHi() ด้านบนจะสร้างหน้าต่างคำเตือนเรียกเตือน คุณสามารถลองทดสอบตัวอย่างนี้ด้วยตัวเอง。
ฟังก์ชันเคยกลับค่าไหม?
ฟังก์ชัน sayHi() ไม่มีค่ากลับ แต่ไม่จำเป็นที่จะประกาศมันชัดเจน (เช่น ใช้ void ใน Java)
ถึงแม้ว่าฟังก์ชันมีค่าเสมอ ก็ไม่จำเป็นที่จะประกาศมันชัดเจน ฟังก์ชันจะต้องใช้การปฎิบัติการ return หลังจากมีค่าที่ต้องการกลับ
function sum(iNum1, iNum2) { return iNum1 + iNum2; }
รหัสด้านล่างนี้จะใส่ค่าที่ฟังก์ชัน sum กลับมาใส่ในตัวแปร
var iResult = sum(1,1); alert(iResult); // ออก "2"
อีกความคิดสำคัญหนึ่งคือ ฟังก์ชันจะหยุดระหว่างการปฎิบัติการเมื่อมีการปฎิบัติการ return ดังนั้น รหัสหลังจากฉาก return จะไม่ถูกปฎิบัติ
ตัวอย่าง หน้าต่าง alert จะไม่แสดงขึ้นในรหัสด้านล่าง
function sum(iNum1, iNum2) { return iNum1 + iNum2; alert(iNum1 + iNum2); }
ฟังก์ชันหนึ่งอาจมีหลายสัญญาณ return อย่างเช่น
function diff(iNum1, iNum2) { if (iNum1 > iNum2) { return iNum1 - iNum2; } return iNum2 - iNum1; } }
ฟังก์ชันด้านบนใช้เพื่อคำนวณค่าต่างของสองตัวเลข ในการทำเช่นนี้ จะต้องใช้ตัวเลขใหญ่ลดไปจากตัวเลขเล็ก ดังนั้นจึงใช้สัญญาณ if ในการตัดสินว่าจะปฎิบัติการ return ไหน
ถ้าฟังก์ชันไม่มีค่ากลับ สามารถเรียกฟังก์ชัน return โดยไม่มีตัวแปรที่ใส่ค่าเพื่อออกจากฟังก์ชันได้
ตัวอย่าง:
function sayHi(sMessage) { if (sMessage == "bye") { return; } alert(sMessage); }
ในรหัสนี้ ถ้า sMessage เท่ากับ "bye" หน้าต่างเตือนจะไม่แสดงขึ้นเสมอ
หมายเหตุ:ถ้าฟังก์ชันไม่มีค่ากลับที่ชัดเจน หรือเรียกฟังก์ชันที่ไม่มีตัวแปรที่ใส่ค่า ฟังก์ชันจะกลับค่า undefined
- หน้าก่อนหน้า สัญญาณ switch
- หน้าต่อไป วัตถุ arguments