ฟังก์ชัน JavaScript จะถูกกำหนดด้วย function คำหลัก
คุณสามารถใช้ฟังก์ชั่นการประกาศหรือการแสดงออกของฟังก์ชั่น
ประกาศฟังก์ชัน
ก่อนหน้านี้ในการกวดวิชานี้คุณได้เรียนรู้ว่าการทำงานมีการประกาศกับไวยากรณ์ต่อไปนี้:
function functionName ( parameters ) {
code to be executed
}
ฟังก์ชั่นการประกาศจะไม่ดำเนินการได้ทันที พวกเขาเป็น "บันทึกไว้เพื่อใช้ในภายหลัง" และจะดำเนินการต่อมาเมื่อพวกเขาถูกเรียก (เรียกร้อง)
อัฒภาคจะใช้ในการแยกงบ JavaScript ปฏิบัติการ
นับตั้งแต่การประกาศฟังก์ชั่นไม่ได้เป็นคำสั่งปฏิบัติการก็ไม่ได้เป็นเรื่องธรรมดาที่จะจบมันด้วยเครื่องหมายอัฒภาค
ฟังก์ชั่นการแสดงออก
ฟังก์ชัน JavaScript นอกจากนี้ยังสามารถกำหนดโดยใช้การแสดงออก
นิพจน์ฟังก์ชั่นที่สามารถเก็บไว้ในตัวแปร:
หลังจากที่มีการแสดงออกของฟังก์ชั่นได้รับการจัดเก็บไว้ในตัวแปรตัวแปรสามารถใช้เป็นฟังก์ชั่น:
ฟังก์ชั่นดังกล่าวข้างต้นเป็นจริงฟังก์ชั่นที่ไม่ระบุชื่อ (ฟังก์ชั่นไม่มีชื่อ)
ฟังก์ชั่นที่เก็บไว้ในตัวแปรที่ไม่จำเป็นต้องมีชื่อฟังก์ชัน พวกเขาจะเรียกเสมอ (เรียก) โดยใช้ชื่อตัวแปร
ฟังก์ชั่นข้างต้นลงท้ายด้วยเครื่องหมายอัฒภาคเพราะมันเป็นส่วนหนึ่งของคำสั่งปฏิบัติการ
Function() สร้าง
ในขณะที่คุณได้เห็นในตัวอย่างก่อนหน้านี้ฟังก์ชัน JavaScript จะถูกกำหนดด้วย function คำหลัก
ฟังก์ชั่นนี้ยังสามารถกำหนดด้วยที่เรียกว่าสร้างขึ้นในตัวสร้างฟังก์ชัน JavaScript Function()
ตัวอย่าง
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
ลองตัวเอง» จริงๆแล้วคุณไม่จำเป็นต้องใช้ตัวสร้างฟังก์ชั่น ตัวอย่างข้างต้นเป็นเช่นเดียวกับการเขียน:
ส่วนใหญ่เวลาที่คุณสามารถหลีกเลี่ยงการใช้ new คำหลักใน JavaScript
Function Hoisting
ก่อนหน้านี้ในการกวดวิชานี้คุณได้เรียนรู้เกี่ยวกับ "hoisting"
ยกเป็นพฤติกรรมปกติของ JavaScript ในการเคลื่อนย้ายการประกาศไปด้านบนของขอบเขตปัจจุบัน
hoisting นำไปใช้กับการประกาศตัวแปรและฟังก์ชั่นการประกาศ
ด้วยเหตุนี้ฟังก์ชัน JavaScript สามารถเรียกได้ว่าก่อนที่จะมีการประกาศ:
myFunction(5);
function myFunction(y) {
return y * y;
}
ฟังก์ชั่นที่กำหนดไว้โดยใช้การแสดงออกจะไม่ยก
ฟังก์ชั่นตัวเองกล่าวอ้าง
ฟังก์ชั่นการแสดงออกสามารถทำ "ด้วยตนเองกล่าวอ้าง"
แสดงออกด้วยตนเองกล่าวอ้างถูกเรียก (เริ่ม) โดยอัตโนมัติโดยไม่ต้องถูกเรียกว่า
ฟังก์ชั่นการแสดงออกจะดำเนินการโดยอัตโนมัติหากการแสดงออกตามด้วย ()
คุณไม่สามารถเรียกตัวเองประกาศฟังก์ชั่น
คุณจะต้องเพิ่มวงเล็บฟังก์ชั่นเพื่อบ่งชี้ว่ามันคือการแสดงออกฟังก์ชั่น:
ฟังก์ชั่นดังกล่าวข้างต้นเป็นจริงการทำงานของตัวเองที่ไม่ระบุชื่อกล่าวอ้าง (ฟังก์ชั่นโดยไม่มีชื่อ)
ฟังก์ชั่นที่สามารถใช้เป็นค่านิยม
ฟังก์ชัน JavaScript สามารถใช้เป็นค่า:
ฟังก์ชัน JavaScript สามารถนำมาใช้ในการแสดงออก:
ฟังก์ชั่นเป็นวัตถุ
typeof ผู้ประกอบการใน JavaScript ส่งกลับ "function" สำหรับการทำงาน
แต่ฟังก์ชั่นจาวาสคริปต์ได้ดีที่สุดจะอธิบายว่าเป็นวัตถุ
ฟังก์ชั่นจาวาสคริปต์มีทั้งคุณสมบัติและวิธีการ
สถานที่ให้บริการ arguments.length ส่งกลับจำนวนของการขัดแย้งได้รับเมื่อฟังก์ชั่นถูกเรียก:
toString() วิธีการส่งกลับฟังก์ชันเป็นสตริง:
ฟังก์ชั่นที่กำหนดไว้เป็นทรัพย์สินของวัตถุที่เรียกว่าวิธีการเพื่อให้วัตถุ
ฟังก์ชั่นที่ออกแบบมาเพื่อสร้างวัตถุใหม่ที่เรียกว่าตัวสร้างวัตถุ