ในโลกของ JavaScript มีหลายวิธีในการกำหนดฟังก์ชั่นซึ่งเป็นภาพสะท้อนของความยืดหยุ่นของ JavaScript แต่เป็นเหตุผลนี้ที่ทำให้ผู้เริ่มต้นสับสนโดยเฉพาะอย่างยิ่งสำหรับนักเรียนที่ไม่มีรากฐานทางภาษา เมื่อคำพูดไปถนนทุกสายจะนำไปสู่กรุงโรม แต่ถ้ามีถนนมากเกินไปมันจะทำให้นักเดินทางสูญเสียเพราะเขาไม่รู้ว่าถนนสายใดเป็นวิธีที่ถูกต้อง ฮ่าฮ่าฉันกำลังพูดไร้สาระและฉันจะพูดน้อยลงอ่านรหัสก่อน:
การคัดลอกรหัสมีดังนี้:
/*วิธีแรกใช้คำสั่งฟังก์ชั่นรูปแบบมีดังนี้*/
ฟังก์ชั่น fn () {
การแจ้งเตือน ("นี่คือคำสั่งฟังก์ชั่นสำหรับนิยามฟังก์ชั่น");
-
fn ();
/*วิธีที่สองใช้ฟังก์ชัน () ตัวสร้างเพื่อโคลนฟังก์ชัน*//
var f = ฟังก์ชั่นใหม่ ("a", "b", "การแจ้งเตือน (a+b)");
f (a, b);
ในความเป็นจริงมันเทียบเท่ากับรหัสต่อไปนี้:
ฟังก์ชั่น f (a, b) {
การแจ้งเตือน (a+b);
-
/*วิธีที่สามคือการใช้ฟังก์ชันเพื่อนับโดยตรง*/
var zhenn = function () {
การแจ้งเตือน ("Zhen");
-
Zhenn ();
ในหมู่พวกเขาวิธีการใช้ "คำสั่งฟังก์ชั่น" และการใช้ "ฟังก์ชั่นปริมาณโดยตรง" เพื่อกำหนดฟังก์ชั่นดูเหมือนจะเป็นเรื่องธรรมดาและเข้าใจง่ายมากขึ้นดังนั้นฉันจะไม่พูดอะไรมากเกี่ยวกับที่นี่ โดยทั่วไปมักใช้กับฟังก์ชั่นโคลนโดยใช้ฟังก์ชัน () ตัวสร้างเนื่องจากฟังก์ชั่นมักจะประกอบด้วยหลายข้อความ หากพวกเขาถูกส่งผ่านเป็นสตริงเป็นพารามิเตอร์มันจะทำให้การอ่านรหัสไม่ดีอย่างหลีกเลี่ยงไม่ได้
ให้ฉันพูดถึงตัวสร้างโดยวิธีที่นี่ ในความเป็นจริงจากมุมมองที่แท้จริงตัวสร้างดูเหมือนจะเป็นฟังก์ชั่น ในความเป็นจริงมันไม่ใช่ฟังก์ชั่น แต่เป็นเพียงแบบจำลองฟังก์ชั่น เพื่อให้ตัวอย่างที่ไม่เหมาะสมคอนสตรัคเตอร์นั้นเทียบเท่ากับรถที่ประกอบใหม่ ไม่ว่าจะอยู่ไกลหรือปิดมันเป็นรถยนต์ แต่ยังไม่ได้เติมเชื้อเพลิง (แสดงถึงขั้นตอนที่จำเป็นก่อนการใช้งาน) ดังนั้นจึงไม่สามารถเริ่มต้นได้ หากคุณต้องการให้รถขับตามปกติคุณต้องเติมน้ำมันลงไป ในความเป็นจริงกระบวนการนี้เทียบเท่ากับการสร้างอินสแตนซ์ของตัวสร้างมิฉะนั้นมันจะไม่ทำงานตามปกติ! ดูตัวอย่างต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น fn () {// กำหนดตัวสร้าง
this.elem = "นี่คือฟังก์ชั่น () ตัวสร้างเพื่อกำหนดฟังก์ชั่นฮ่าฮ่า";
this.fn = function () {
การแจ้งเตือน ("นี่คือการกำหนดฟังก์ชั่นโดยใช้ฟังก์ชั่น () ตัวสร้าง, hehe");
-
-
var f = new fn (); // อินสแตนซ์
การแจ้งเตือน (F.Elem);
f.fn ();