أداء JavaScript
كيفية تسريع كود JavaScript الخاص بك.
تقليل النشاط في الحلقات
غالبًا ما تستخدم الحلقات في البرمجة.
يتم تنفيذ كل جملة في حلقة ، بما في ذلك تعليمة for ، لكل تكرار للحلقة.
العبارات أو المهام التي يمكن وضعها خارج الحلقة ستجعل الحلقة تعمل بشكل أسرع.
سيئة:
for (let i = 0; i < arr.length; i++) {
كود أفضل:
let l = arr.length;
for (let i = 0; i < l; i++) {
يصل الرمز السيئ إلى خاصية طول المصفوفة في كل مرة يتم تكرار الحلقة.
يصل الكود الأفضل إلى خاصية length خارج الحلقة ويجعل تشغيل الحلقة أسرع.
تقليل وصول DOM
يعد الوصول إلى HTML DOM بطيئًا جدًا ، مقارنة بعبارات JavaScript الأخرى.
إذا كنت تتوقع الوصول إلى عنصر DOM عدة مرات ، فقم بالوصول إليه مرة واحدة ، واستخدمه كمتغير محلي:
مثال
const obj = document.getElementById("demo");
obj.innerHTML = "Hello";
تقليل حجم DOM
اجعل عدد العناصر في HTML DOM صغيرًا.
سيؤدي ذلك دائمًا إلى تحسين تحميل الصفحة وتسريع العرض (عرض الصفحة) ، خاصة على الأجهزة الأصغر حجمًا.
كل محاولة للبحث في DOM (مثل getElementsByTagName) ستستفيد من DOM أصغر.
تجنب المتغيرات غير الضرورية
لا تقم بإنشاء متغيرات جديدة إذا كنت لا تخطط لحفظ القيم.
في كثير من الأحيان يمكنك استبدال رمز مثل هذا:
let fullName = firstName + " " + lastName;
document.getElementById("demo").innerHTML = fullName;
مع هذا:
document.getElementById("demo").innerHTML = firstName + " " + lastName;
تأخير تحميل JavaScript
يتيح وضع البرامج النصية في الجزء السفلي من نص الصفحة للمتصفح تحميل الصفحة أولاً.
أثناء تنزيل البرنامج النصي ، لن يبدأ المستعرض أي تنزيلات أخرى. بالإضافة إلى ذلك ، قد يتم حظر جميع أنشطة التحليل والتقديم.
تحدد مواصفات HTTP أنه لا ينبغي للمتصفحات تنزيل أكثر من مكونين بشكل متوازٍ.
البديل هو استخدامه defer="true"
في وسم البرنامج النصي. تحدد سمة defer أنه يجب تنفيذ النص البرمجي بعد انتهاء تحليل الصفحة ، ولكنه يعمل فقط مع البرامج النصية الخارجية.
إذا أمكن ، يمكنك إضافة النص البرمجي إلى الصفحة عن طريق الكود ، بعد تحميل الصفحة:
مثال
<script>
window.onload = function() {
const element = document.createElement("script");
element.src = "myScript.js";
document.body.appendChild(element);
};
</script>
تجنب استخدام مع
تجنب استخدام with
الكلمة. لها تأثير سلبي على السرعة. كما أنه يفسد نطاقات JavaScript.
with
الكلمة الأساسية غير مسموح بها في الوضع المتشدد.