บทความนี้อธิบายถึงการใช้ฟังก์ชันที่ไม่ระบุชื่อใน JavaScript แบ่งปันสำหรับการอ้างอิงของคุณ รายละเอียดมีดังนี้:
1. กำหนดฟังก์ชัน
ใน JavaScript ฟังก์ชันสามารถกำหนดผ่าน "ฟังก์ชันการประกาศ" และ "ฟังก์ชันนิพจน์" ตัวอย่างเช่น
1. กำหนดฟังก์ชั่นผ่าน "การประกาศฟังก์ชั่น"
ฟังก์ชั่น t1 () {}2. กำหนดฟังก์ชั่นผ่าน "ฟังก์ชันนิพจน์"
t2 = function () {}อย่างไรก็ตามสองวิธีในการกำหนดฟังก์ชั่นมีเอฟเฟกต์ที่แตกต่างกัน
T1 เป็นปฏิญญาฟังก์ชั่น เมื่อ 'การวิเคราะห์คำศัพท์', ao.t1 = function () {}, ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T2 เป็นการดำเนินการที่ได้รับมอบหมาย เมื่อ 'เรียกใช้', ao.t2 = function () {} ค่าคือผลลัพธ์ที่ส่งคืนโดยนิพจน์ทางด้านขวาและใช้งานได้ในขั้นตอน 'รัน' เท่านั้น
2. ฟังก์ชั่นนิรนาม
ใน JavaScript คำสั่งในวงเล็บ () จะถูกดำเนินการเป็นนิพจน์ ดังที่ได้กล่าวไว้ข้างต้นคุณสามารถใช้ "ฟังก์ชั่นนิพจน์" เพื่อกำหนดฟังก์ชั่นดังนั้นเราจึงสามารถกำหนดฟังก์ชั่นใน () เช่น
(ฟังก์ชั่น t3 () {Alert ('I am t3');})หากฟังก์ชั่นไม่ได้ใช้ชื่อให้แก้ไขดังนี้
(function () {Alert ('I am t3');})เนื่องจากคำสั่งที่มีอยู่ใน () เป็นนิพจน์จึงมีค่าส่งคืน ค่าส่งคืนของ (function () {Alert ('I am t3');}) เป็นฟังก์ชันที่กำหนดและสามารถเรียกได้ทันทีเช่น
(function () {Alert ('I am t3');}) ()ดังนั้นฟังก์ชั่นที่ไม่มีชื่อถูกกำหนดในวงเล็บ () ซึ่งเรียกว่าฟังก์ชันที่ไม่ระบุชื่อ วิธีนี้ฟังก์ชั่นที่ไม่ระบุชื่อดำเนินการทันทีโดยไม่ทำให้เกิดมลพิษในสถานการณ์ทั่วโลกเรียกว่าการดำเนินการฟังก์ชั่นฟังก์ชั่นทันที
3. jQuery เป็นฟังก์ชันที่ไม่ระบุชื่อ
รหัสของ jQuery ถูกห่อหุ้มในฟังก์ชันที่ไม่ระบุชื่อซึ่งเป็นรหัสนอกสุดของ jQuery:
(ฟังก์ชั่น (หน้าต่างที่ไม่ได้กำหนด) {}) (หน้าต่าง); // โทรทันทีแต่ทำไม jQuery ถึงผ่านหน้าต่าง แต่ไม่ได้กำหนด?
คำตอบ: หน้าต่างผ่านคือการค้นหาความเร็วและลดเวลาในการสอบถามตัวแปร ตัวอย่างเช่นรหัส JS ต่อไปนี้
function () {function () {function () {function () {function () {document.getElementById (); // เอกสารนี้จะถูกค้นหาเลเยอร์โดยเลเยอร์ตามขอบเขตจนกระทั่งหน้าต่างด้านนอกสุดทั่วโลก -JQuery คือการเร่งการค้นหาภายในของตัวแปรท้องถิ่นและส่งผ่านหน้าต่างเป็นพารามิเตอร์โดยตรงเพื่อให้หน้าต่างอยู่ใน AO ภายใน jQuery
มันมีวัตถุประสงค์เพื่อความปลอดภัยที่จะไม่ผ่านที่ไม่ได้กำหนดเพราะในรุ่นที่ต่ำกว่าของ IE และ FF ที่ไม่ได้กำหนดสามารถกำหนดใหม่ได้เช่น undefined = 3;
ประกาศตัวแปรท้องถิ่นที่ไม่ได้กำหนด (ชื่อไม่ได้กำหนด) และในเวลาเดียวกันโดยไม่ต้องผ่านพารามิเตอร์ค่าจะไม่ได้กำหนดตามธรรมชาติ
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน