سؤال

أنا أكتب jquery للحصول على صفحة الفوضى المعقدة للعديد من عناصر الدوم (لا املك السيطرة على هذا). المتصفح المستهدف الأساسي هو IE7., ، لدي مخاوف بشأن سرعة محرك جافا سكريبت. البرامج النصية التي كتبتها بالفعل LAGGY وتم ضبطها على أفضل ما لدي.

يمكنني كتابة البرنامج النصي سهل الصيانة والفهم، على سبيل المثال باستخدام واحد contains بيان. أو يمكنني مساعدة المحرك عن طريق تضييق نطاق البحث DOM من خلال هذا HTML الفوضوي مما يؤدي إلى مزيد من التعقيد.

يجب أن أهتم بسرعة محرك JavaScript المتصفح عند كتابة البرامج النصية المسج؟

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

المحلول

JQuery مكتوب في جافا سكريبت. لذلك يجب أن تهتم بسرعة محرك JavaScript لأنه يؤثر أيضا على سرعة رمز مسجك.

هناك الكثير من النصائح والحيل حول كيفية كتابة رمز مسج أكثر كفاءة. المبدأ الرئيسي هو فهم كيفية عمل JQuery، وكيف يتم ترجمة المحددين إلى استفسارات تحدد العناصر من DOM وما إلى ذلك.

نصائح أخرى

حاول استخدام طرق JavaScript الأصلية بدلا من طرق JQuery كلما أمكن ذلك وستلاحظ عموما تحسنا بسرعة كبيرة، خاصة في IE. محرك Rendering JS في IE هو SLLLOOOWWW مقارنة بالمتصفحات غير المنجزة الأخرى.

على سبيل المثال، كان لدي برنامج نصي AJAX الذي كان يعمل بشكل جيد في FF / Safari ولكن ركض مثل دبس المجمدة في IE. اتضح المطور الذي كتب أنه جعل استخداما كبيرا من طريقة jQuery's $. () للحصول على بيانات من ملف JSON كبير. أعد كتابة البرنامج النصي لاستخدام حلقات JS for () القياسية بدلا من ذلك، وتشغيل اختبارات قليلة في السرعة بعد ذلك أظهرت أن استخدام () كان أكثر من 20 مرة أسرع.

نعم، لكن يجب أن لا تأخر عليه :)

قد يكون بطيئا نسبيا، حيث لا أعتقد أن نموذج المستند يتم فهرسة بأي شكل من الأشكال من خلال النص الذي يظهر داخل العناصر.

ومع ذلك، لست متأكدا من الحكم من الحكمة أن أحاول إطفاء شيء وتحسين التحسينات. الذهاب لأبسط شيء يعمل، اختبار، ثم تحسين إذا كان لديك مشكلة.

لم أقم بتشغيلها في مثيل واحد حيث تفوق فوائد استخدام JQuery أو البرنامج المساعد (توافق المتصفح عبر المستعرض، وظيفة مفيدة بشكل كبير) عن طريق التناقص بسرعة. وأنا أعمل مع صفحات ويب كبيرة في بعض الأحيان.

على أي حال، الطريقة الوحيدة التي ستعرفها هي تجربتها. اكتب الرمز الخاص بك في الطريقة الأكثر عقلانية ممكنة في البداية. إذا كان بطيئا جدا، فيمكنك أن تنظر إلى تحسينه.

تحسين اجتياز دوم
http://www.learningjquery.com/2006/12/quick-tip-optimizing-dom-trasal.

لا، يجب أن تهتم بذلك، لأنه لا ينبغي أن يؤثر على كيفية كتابة التعليمات البرمجية.

هذا هو القول، يجب عليك دائما كتابة جافا سكريبت فعالة، سواء لأنها مجرد ممارسة جيدة، ولأنها بالنسبة لمعظم المواقع ليس لديك أي فكرة عن المستعرض الذي يعمل أي مستخدم معين، لذلك قد تتحمل أيضا الأسوأ.

نعم يجب أن تشعر بالقلق، ولكن لحسن الحظ، فإن فريق مسج هو تماما كما هو قلق:

التغييرات الأخيرة إلى مسج Interals (تحقق من الشرائح الأخيرة)

لا تتفق على تحسين، ولكن تحسين قدر ما تحتاج إليه.

إذا كان بطيئا، فلن يكون لديك خيار سوى الذهاب إلى هناك ومساعدة JQuery Out. ولكن بعد ذلك إذا لم يكن الأمر كذلك، فلماذا تهتم.

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