ฟังก์ชั่นที่ไม่ระบุชื่อใน JavaScript
รูปแบบ:
(function () {// code}) ();คำอธิบาย: นี่เป็นรหัสที่ค่อนข้างสง่างาม (อาจสับสนถ้าคุณเห็นมันเป็นครั้งแรก :)) คู่แรกของวงเล็บรอบ ๆ ฟังก์ชั่น (ฟังก์ชั่น () {}) ส่งคืนฟังก์ชันที่ไม่มีชื่อไปยังสคริปต์แล้วคู่ของวงเล็บว่างเปล่า
นี่คือตัวอย่างที่มีพารามิเตอร์:
(ฟังก์ชั่น (arg) {alert (arg+100);}) (20); // ตัวอย่างนี้ส่งคืน 120การใช้งานที่สำคัญ: คุณสามารถใช้เพื่อสร้างเนมสเปซ ตราบใดที่คุณเขียนโค้ดทั้งหมดของคุณใน wrapper ฟังก์ชั่นพิเศษนี้ตัวพิมพ์ภายนอกจะไม่สามารถเข้าถึงได้เว้นแต่คุณจะอนุญาต
(function () {function $ (id) {return document.getElementById (id);} ฟังก์ชั่น __addClass (id, classname, classValue) {$ (id) .style.className = classValue;} [mySpace '] = {};ตัวอย่างข้างต้นสามารถห่อหุ้มและปกป้องฟังก์ชั่นวัตถุและตัวแปรทั้งหมดของคุณด้วย namespace หลอกนี้ ยิ่งกว่านั้นเนื่องจากพวกเขาอยู่ในฟังก์ชั่นเดียวกันพวกเขาจึงสามารถอ้างอิงซึ่งกันและกัน เพื่อที่จะโลกาภิวัตน์รหัสที่ได้รับการป้องกันคู่ของวงเล็บบอกให้เบราว์เซอร์ดำเนินการฟังก์ชั่นที่ไม่ระบุชื่อที่ส่งคืนทันทีและในระหว่างการดำเนินการให้กำหนด __addClass () ให้กับวิธีการของหน้าต่างเพื่อให้เฉพาะ AddClass เท่านั้นที่สามารถดำเนินการภายนอกและ __addClass ได้รับการปกป้อง ฉันเรียกได้ว่าแบบนี้: myspace.addclass ('oneid', 'font-width', 'bold')