ฉันเคยเห็นรูปแบบนี้ในห้องสมุดไม่กี่ตอนนี้และฉันสงสัยว่าผลประโยชน์คืออะไร (โปรดทราบว่าฉันทราบดีถึงการปิดและสิ่งที่รหัสกำลังทำอยู่ฉันกังวลเฉพาะความแตกต่างด้านโครงสร้างประโยค)
!function(){
// do stuff
}();
เป็นทางเลือกให้กับคนทั่วไปมากขึ้น
(function(){
// do stuff
})();
สำหรับการเรียกใช้ฟังก์ชันที่ไม่ระบุชื่อ
ฉันสงสัยบางสิ่ง ก่อนอื่นสิ่งที่ทำให้ตัวอย่างบนสุดใช้งานได้จริงคืออะไร เพราะเหตุใดจึงจำเป็นในการทำให้คำสั่งนี้ถูกต้องทางไวยากรณ์? ฉันยังบอกว่าใช้+
งานได้และฉันแน่ใจว่าบางคนอื่นแทน!
ประการที่สองประโยชน์คืออะไร? ทั้งหมดที่ฉันสามารถบอกได้คือมันช่วยตัวละครตัวเดียว แต่ฉันไม่สามารถจินตนาการได้ว่ามันเป็นประโยชน์อย่างมากที่จะดึงดูดผู้ใช้งานจำนวนมาก มีประโยชน์อื่นอีกไหมที่ฉันขาดหายไป?
ความแตกต่างอื่น ๆ ที่ฉันเห็นคือค่าส่งคืนของฟังก์ชันการเรียกใช้ตนเอง แต่ในตัวอย่างทั้งสองนี้เราไม่สนใจค่าส่งคืนของฟังก์ชันเนื่องจากใช้เพื่อสร้างการปิดเท่านั้น ดังนั้นบางคนสามารถบอกฉันได้ว่าทำไมอาจใช้ไวยากรณ์แรก
!
มันเน้นว่ามันจะถูกประหารชีวิต