نحن نعلم أنه في JS ، تعتبر سلسلة متسلسلة السلسلة واحدة من أقل عمليات أداء.
على سبيل المثال:
نسخة الكود كما يلي:
var text = "hello" ؛
النص+= "العالم!" ؛
لم تحسن المتصفحات المبكرة هذه العملية.
نظرًا لأن السلاسل غير قابلة للتغيير ، فهذا يعني إنشاء سلاسل وسيطة لتخزين نتائج الاتصال. في كثير من الأحيان إنشاء وتدمير السلاسل في الخلفية ، أداء التقييد ضعيف للغاية.
لذلك ، يمكن إجراء التحسين باستخدام كائنات الصفيف.
على سبيل المثال:
var buffer = [] ، i = 0 ؛ المخزن المؤقت [i ++] = "Hello" ؛ // إضافة عناصر من خلال قيمة الفهرس المقابلة أسرع من العازلة طريقة الدفع [i ++] = "World!" ؛ var text = buffer.join ("") ؛في المتصفحات المبكرة ، لم يتم إنشاء السلاسل المتوسطة وتدميرها ، وفي حالة وجود عدد كبير من التسلسلات الخيطية ، أثبتت هذه التقنية أسرع بكثير من استخدام طرق الإضافة.
في الوقت الحاضر ، غيّر تحسين المتصفح من الأوتار موقف اتصال السلسلة. تُظهر Safari و Opera و Chrome و Firefox و IE8 أداءً أفضل عند استخدام عوامل الإضافة. ومع ذلك ، لم يتم تحسين الإصدارات قبل IE8 ، لذلك لا تزال طريقة الصفيف صالحة. هذا لا يعني أنه عند توصيل السلاسل ، نحتاج إلى إجراء الكشف عن المتصفح. ما تحتاج إلى مراعاته عند تحديد كيفية الاتصال هو حجم وعدد السلاسل.
عندما تكون السلسلة صغيرة نسبيًا (أقل من 20 حرفًا) وعدد الاتصالات صغيرة (أقل من 1000) ، يمكن لجميع المتصفحات إكمال الاتصالات بسهولة في أقل من 1 مللي ثانية باستخدام مشغل الإضافة. عند زيادة عدد أو حجم السلاسل ، سيتم تقليل الأداء في IE7 بشكل كبير. عندما يزداد حجم السلسلة ، سيصبح فرق الأداء بين مشغلي الإضافة وتقنيات المكونات في Firefox أصغر. مع زيادة عدد السلاسل ، ستصبح اختلافات الأداء بين مشغلي الإضافة وتقنيات المكونات في Safari أصغر. لقد حافظ المشغلون المضافة في Chrome و Opera دائمًا على الرصاص عند تغيير عدد أو حجم الأوتار.
لذلك ، نظرًا للأداء غير المتناسق لكل متصفح ، يعتمد اختيار التكنولوجيا على الوضع الفعلي والمتصفح الذي تواجهه.
في معظم الحالات ، يفضل مشغلي الإضافة ؛ تستحق تكنولوجيا المصفوفة ذلك إذا استخدم المستخدمون بشكل أساسي IE6 أو 7 ولديهم أحجام سلسلة كبيرة أو أعداد كبيرة.
بشكل عام ، إذا كانت سلسلة دلالية ، يجب عدم استخدام الصفيف ، مثل:
"مرحبا ، اسمي" + اسم ؛
إذا كانت السلسلة "تكرار المواقف المماثلة" ، فمن المستحسن استخدام الصفيف ، مثل:
var array = [] ؛ لـ (i = 0 ؛ i <length ؛ i ++) {array [i] = '<li>' + list [i] + '</li'> ؛ } document.getElementById ('مكان ما'). innerhtml = array.join ('/n') ؛هذا كل شيء بالنسبة لمقارنة الأداء لاتصالات صفيف سلسلة JS ، آمل أن يكون ذلك مفيدًا للجميع.