متى يجب أن أتصل بالوظائف المجهولة عبر jQuery وعن طريق JavaScript العادي؟

StackOverflow https://stackoverflow.com/questions/19847531

سؤال

تساءلت عن الفرق في استخدام jQuery أو عدم استخدامه قد يفكر في المهمة التالية. لم أجد أي إجابة بعد.

jQuery:

jQuery(function() { alert("Hello World!"); })
$(function() { alert("Hello World!"); })

جافا سكريبت النقي:

(function() { alert("Hello World!"); })()

ماهو الفرق؟ متى يجب أن أستخدم أي نهج؟ شكرًا لك!

هل كانت مفيدة؟

المحلول

على العموم، $(function() { alert("Hello World!"); }) ينتظر $(document).ready() والوظيفة الأخرى (أ iife) الحرائق على الفور.

لكن وظيفة ملفوفة jQuery هي حالة استخدام محددة للغاية (في انتظار DOM ، باستخدام jQuery) ؛ مثالانك غير مرتبطين. لا تخلط بينهم كإصدارات من نفس الشيء.

نصائح أخرى

$(function(){
  alert("hello world");
});

هو اليد قصيرة ل:

$(document).ready(function(){
    alert("hello world");
});

لذلك سيتم تنفيذها بعد أحمال DOM.

بينما سيتم تنفيذ JS Pure قبل تحميل DOM.

يرتبط إصدار jQuery بتنفيذها بمجرد تحميل DOM. ينفذ النوع في الإغلاق بمجرد تعريفه. لذلك إذا كنت تريد تنفيذها على الفور ، فاستخدم الإصدار الثاني ، إذا كان يجب أن ينتظر حتى يتم تحميل كل شيء ، فاستخدم الأول.

على الأقل ، هذا ما أخرجته من قمة رأسي.

الفرق الرئيسي هو أن وظائف jQuery يتم تنفيذها بعد تحميل DOM. ويتم تنفيذ وظيفة JavaScript Lambda النقية على الفور (في سياقها).

وظيفة jQuery الثانية هي اختصار لأول مرة.

لا يزال بإمكانك وضع وظيفة JavaScript Lambda داخل غلاف JQuery. هذا يعني أن وظيفة Lambda ستنفذ مباشرة بعد تحميل DOM (بفضل jQuery رعاية ذلك).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top