สรุปภาษาฟังก์ชัน ECMAScript

อะไรคือฟังก์ชัน?

ฟังก์ชันเป็นกลุ่มคำสั่งที่สามารถปฏิบัติงานได้ทุกที่และทุกเวลา

ฟังก์ชันเป็นส่วนใหญ่ของ 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