ไซต์ jQuery แสดงรายการไวยากรณ์ปลั๊กอินพื้นฐานสำหรับ jQuery ดังนี้:
(function( $ ){
$.fn.myPlugin = function() {
// there's no need to do $(this) because
// "this" is already a jquery object
// $(this) would be the same as $($('#element'));
this.fadeIn('normal', function(){
// the this keyword is a DOM element
});
};
})( jQuery );
ฉันแค่อยากจะเข้าใจว่าเกิดอะไรขึ้นที่นั่นจากมุมมองของ Javascript เพราะดูเหมือนว่ามันจะไม่เป็นไปตามไวยากรณ์ใด ๆ ที่ฉันเคยเห็น JS ทำมาก่อน นี่คือรายการคำถามของฉัน:
หากคุณแทนที่ฟังก์ชัน ($) ... ด้วยตัวแปรให้พูดว่า "the_function" ไวยากรณ์จะมีลักษณะดังนี้:
(the_function)( jQuery );
"(jQuery);" คืออะไร ทำ? วงเล็บรอบฟังก์ชันจำเป็นจริงหรือ? ทำไมพวกเขาถึงอยู่ที่นั่น? มีรหัสชิ้นอื่นที่คุณสามารถให้ที่คล้ายกันได้หรือไม่?
เริ่มต้นด้วยฟังก์ชัน ($) มันเป็นการสร้างฟังก์ชั่นเท่าที่ฉันบอกได้ว่าจะไม่ถูกรันด้วยพารามิเตอร์ $ ซึ่งถูกกำหนดไว้แล้ว? เกิดอะไรขึ้นที่นั่น?
ขอบคุณสำหรับความช่วยเหลือ!