JavaScript حساس للحالة:
يجب أن تكون الكلمات الرئيسية والمتغيرات وأسماء الوظائف وجميع المعرفات متسقة في الحالة العلوية والسفلية (عادةً ما نكتبها في الحالة السفلية) ، والتي تختلف تمامًا عن طريقة الكتابة متعددة الأساليب لـ C# عندما تعلمت لأول مرة.
على سبيل المثال: (هنا نأخذ المتغيرات Str و Str كأمثلة)
نسخة الكود كما يلي:
var str = 'abc' ؛
var str = 'abc' ؛
تنبيه (STR) ؛ // الإخراج ABC
إذا كانت STR و STR هي نفس المتغير ، فعليك التنبيه (STR) ؛ ، يجب أن تكون نتيجة الإخراج ABC بدلاً من ABC كما هو موضح في الشكل أعلاه. هذا يدل فقط على أن JavaScript حساس للحالة.
التسلسل الهروب يونيكود
يتمثل ظهور مجموعات أحرف Unicode في تعويض القيد الذي يمكن أن يمثله رمز ASCII فقط 128 حرفًا. إذا أردنا عرض الأحرف الصينية واليابانية في الحياة اليومية ، فمن الواضح أن ASCII مستحيل. لذلك يونيكود هو superset من ASCII واللاتيني 1. بادئ ذي بدء ، تتم كتابة برامج JavaScript مع مجموعات أحرف Unicode ، ولكن لا يمكن عرضها بالكامل أو إدخالها في بعض أجهزة الكمبيوتر والبرامج. من أجل حل هذه الظاهرة ، يحدد JavaScript تسلسلًا خاصًا ، والذي يستخدم 6 أحرف ASCII لتمثيل أي رمز داخلي Unicode 16 بت. يسمى هذا التسلسل الخاص مجتمعة التسلسل Unicode Escape ، والذي يتم مسبوقة مع /U ويتبعه 4 أرقام سداسية عشرية.
على سبيل المثال:
نسخة الكود كما يلي:
var str = 'Caf/u00e9' ؛
var str = 'Café' ؛
التنبيه (str+''+str) ؛ // يمكنك أن ترى أن الشاشة هي نفس التأثير.
تنبيه (str === str) ؛ // الإخراج صحيح
ولكن يجب أن نلاحظ أن Unicode يتيح طرقًا متعددة لترميز نفس الحرف ، واستخدام المثال أعلاه لـ e excart لتوضيح:
é:
1. يمكن تمثيله بأحرف Unicode /u00e9
2. يمكن أيضًا تمثيله بواسطة E/U0301 (حرف التجويد)
نسخة الكود كما يلي:
var str = 'Caf/u00e9' ؛
var str = 'Cafe/U0301' ؛
تنبيه (str+''+str) ؛ // كما هو موضح في الشكل أدناه ، فإن نتائج النتائج بواسطة STR و STR هي نفسها
تنبيه (str ==== str) ؛ // النتائج متشابهة ، لكن تمثيلات الترميز الثنائية مختلفة تمامًا ، وبالتالي فإن الإخراج كاذب
على الرغم من أن النتائج المعروضة في محرر النص هي نفسها ، فإن تمثيلات الترميز الثنائية الخاصة بها مختلفة تمامًا ، وسيتم تحويل لغات البرمجة في النهاية إلى رموز ميكانيكية للكمبيوتر (الترميز الثنائي) للمنصة المحلية. يمكن لأجهزة الكمبيوتر أن تعرف فقط النتائج من خلال مقارنة الترميزات الثنائية ، وبالتالي فإن النتيجة النهائية لمقارنةها يمكن أن تكون خاطئة فقط
لذلك هذا هو أفضل تفسير لـ "يسمح Unicode بطرق متعددة لترميز نفس الحرف" لأن معيار Unicode يحدد تنسيق الترميز المفضل لجميع الأحرف لتسهيل تحويل النص إلى متسلسلات هروب Unicode بتنسيق موحد للمقارنة المناسبة
خذ é كمثال مرة أخرى:
هل هو نفس الشيء لمقارنة الوجه مع é في المقهى؟
فقط من خلال مقارنة é في Facé و Café يتم تحويلها إلى /u00e9 أو يتم تحويل كلاهما إلى E /U0301 لمقارنة é في الوجه والمقهى