الطريقة الرئيسية لإدراج رمز JavaScript في صفحة HTML هي من خلال علامة البرنامج النصي. وتشمل هذه شكلين. الأول هو إدراج رمز JS مباشرة بين علامات البرنامج النصي ، والثاني هو تقديم ملفات JS الخارجية من خلال سمة SRC. نظرًا لأن المترجم المترجم يمنح بقية الصفحة أثناء تحليل رمز JS وتنفيذه ، فإنه سيؤدي إلى طهي طويل الأجل وتأخير في الصفحات التي تحتوي على كمية كبيرة من رمز JS. لتجنب هذه المشكلة ، يوصى بوضع جميع مراجع JS قبل </body>.
هناك سمتان لعلامات البرنامج النصي ، المؤجلة والمتزامنة ، وبالتالي يتم تقسيم استخدام علامات البرنامج النصي إلى ثلاث حالات:
1. <script src = "example.js"> </script>
بدون سمة التأجيل أو غير المزامنة ، سيقوم المتصفح بتحميل البرنامج النصي المقابل على الفور. وهذا يعني ، قبل تقديم المستند بعد علامة البرنامج النصي ، لا تنتظر التحميل اللاحق لعناصر المستند ، وتبدأ التحميل والتنفيذ بعد قراءته. هذا سيمنع تحميل المستند اللاحق ؛
2. <script async src = "example.js"> </script>
من خلال سمة ASYNC ، فهذا يعني أن تحميل وتقديم المستندات اللاحقة يتم تنفيذه بالتوازي مع تحميل وتنفيذ البرامج النصية JS ، وهذا هو التنفيذ غير المتزامن ؛
3. <script defer src = "example.js"> </script>
باستخدام السمة المؤجلة ، يتم تنفيذ عملية تحميل المستندات اللاحقة وتحميل البرنامج النصي JS (فقط التحميل ولكن لا تنفذ في هذا الوقت) بالتوازي (بشكل غير متزامن). يحتاج تنفيذ البرنامج النصي JS إلى الانتظار حتى يتم تحليل جميع عناصر المستند وقبل تنفيذ الحدث الذي تم تحميله.
يمكن أن يرى الشكل التالي بشكل حدسي الفرق بين الثلاثة:
من بينها ، يمثل Blue وقت التحميل لشبكة Script JS ، ويمثل Red وقت تنفيذ البرنامج النصي JS ، ويمثل الأخضر دقة HTML.
من الشكل يمكننا توضيح النقاط التالية:
1. التأجيل والمتزامن متسقة في عملية تحميل الشبكة ويتم تنفيذ كلاهما بشكل غير متزامن ؛
2. الفرق بين الاثنين هو عند تنفيذ البرنامج النصي بعد تحميله. يمكن ملاحظة أن التأجيل يتماشى بشكل أكبر مع متطلبات معظم السيناريوهات لتحميل وتنفيذ البرنامج النصي للتطبيق ؛
3. إذا كان هناك نصوص متعددة مع سمات تأجيل ، فإنها تنفذ البرنامج النصي في ترتيب التحميل ؛ بالنسبة لـ ASYNC ، يرتبط تحميله وتنفيذه ارتباطًا وثيقًا. بغض النظر عن أمر الإعلان ، سيتم تنفيذه فورًا طالما تم الانتهاء من الحمل. إنه لا فائدة من استخدام البرامج النصية للتطبيق لأنها لا تعتبر التبعيات على الإطلاق.
ملخص:
النقطة الشائعة بين التأجيل والمتزامن هي أنه يمكنهم تحميل ملفات JS بالتوازي ولن تمنع تحميل الصفحة. الفرق هو أنه بعد تحميل التأجيل ، سينتظر JS حتى يتم تحميل الصفحة بأكملها قبل التنفيذ. سوف ASYNC تنفيذ JS مباشرة بعد التحميل. لذلك ، إذا كان هناك ترتيب صارم لتنفيذ JS ، فمن المستحسن استخدام التأجيل للتحميل.
ما سبق هو شرح مفصل للفرق بين سمات التأجيل والمتزامن في JS الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!