الهيكل المعجمي للغة البرمجة هو مجموعة أساسية من القواعد المستخدمة لوصف كيفية كتابة هذه اللغة. كأساس لبناء الجملة ، فإنه يحدد شكل الأسماء المتغيرة ، وكيفية كتابة التعليقات ، وكيفية التمييز بين العبارات. يستخدم هذا القسم مساحة قصيرة جدًا لتقديم الهيكل المعجمي لجافا سكريبت.
1. مجموعة الأحرف
يتم كتابة برنامج JavaScript في مجموعات أحرف Unicode ، وهي مجموعة من ASCII و Latin-1 ويدعم جميع اللغات تقريبًا في المنطقة. يتطلب ECMASCRIPT3 أن يكون تنفيذ JavaScript يدعم الإصدارات Unicode2 و 1 والإصدارات اللاحقة ، في حين يتطلب ECMASCript5 أن يدعم تنفيذ JavaScript Unicode3 والإصدارات اللاحقة.
أنا. حساسية الموضوع
JavaScript هي لغة حساسة للحالة ، أي الكلمات الرئيسية والمتغيرات وأسماء الوظائف وجميع أحرف التعبير يجب أن تكون مستمرة. على سبيل المثال ، يجب كتابة الكلمة الرئيسية أثناء وجودها في الوقت الحالي ، ولا يمكن كتابتها كما أثناء أو أثناء وجودها.
ولكن تجدر الإشارة إلى أن HTML ليس حساسًا للحالة (على الرغم من أن XHTML مختلف) ، ومن السهل الخلط بينه لأنه يرتبط ارتباطًا وثيقًا بـ JavaScript العميل. على سبيل المثال ، في حدث المعالجة الذي تم تعيينه بواسطة HTML ، يمكن كتابة سمة OnClick على أنها OnClick ، ولكن في JavaScript ، يمكن كتابتها على أنها Onclick.
II المساحات ، وفواصل الخط ، وأجهزة التحكم في التنسيق
يتجاهل JavaScript المسافات بين الرموز في البرنامج. في معظم الحالات ، يتجاهل JavaScript فواصل الخط. نظرًا لأنه يمكن استخدام المساحات وفواصل الأسطر في الإرادة في الكود ، يمكن استخدام المسافة البادئة المتسقة والمتسقة في وقت واحد لتشكيل نمط تشفير موحد ، وتحسين قابلية قراءة الكود.
JavaScript بالإضافة إلى تحديد أحرف الفضاء (/u0020). يعرض JavaScript أيضًا الأحرف التالية التي تشير إلى المساحات: حرف علامات التبويب الأفقية (/u0009) ، حرف علامة التبويب العمودية (/u000b) ، حرف التجديد للصفحة (/u000c) ، حرف بيضاء غير متداخل (/u00a0) ، علامة إنديان (/ufeff) ، والأحرف في جميع فئات ZS في أحادية الصود. يتعرف JavaScript على الأحرف التالية كأحرف نهاية: كسر الأسطر (/u000a) ، رمز إرجاع النقل (/u000d) ، فاصل الخط (/u2028) ، وفاصل القطاع (/u2029). يتم تحليل حرف عودة النقل وحرف كسر الخط في حرف إنهاء خط واحد.
يتحكم تنسيق UNICODE في الأحرف (فئة CF) ، مثل "علامات الكتابة من اليمين إلى اليسار" (/u200F) و "علامات الكتابة من اليسار إلى اليمين" (/u200e) ، تتحكم في العرض البصري للنص. هذا أمر بالغ الأهمية بالنسبة للعرض الصحيح لبعض النصوص غير الإنجليزية ، والتي يمكن استخدامها في تعليقات JavaScript ، والكميات المباشرة السلسلة والكميات المباشرة للتعبير العادي ، ولكن لا يمكن استخدامها في المعرفات (مثل الأسماء المتغيرة) ، ولكن هناك استثناء لموصل العرض الصفر (/u200d) و Zero-Width (/ufeff) يمكن أن يظهر في المعرفات. وذكر أعلاه أيضًا أن حرف التحكم في تنسيق علامة البايت (/UFEFF) يعامل كمساحة.
III.Unicode التسلسل الهروب
في بعض أجهزة الكمبيوتر والبرامج ، لا يمكن عرض المجموعة الكاملة من أحرف Unicode أو إدخالها. لدعم المبرمجين باستخدام التكنولوجيا القديمة ، تحدد JavaScript تسلسلًا خاصًا يستخدم 6 أحرف ASCII لتمثيل أي رمز داخلي Unicode 16 بت. يتم تجميع تسلسل الهروب Unicode هذه بواسطة /u ، تليها الفئران السداسية السداسية (المشار إليها بالأرقام والأحرف الكبيرة والصغيرة AF). يمكن استخدام كتابة الهروب Unicode هذه في كميات JavaScript String مباشرة ، والتعبيرات العادية ، والمعرفات (باستثناء الكلمات الرئيسية). على سبيل المثال ، يتم كتابة هروب Unicode للشخصية é كـ /u00e9 ، والسلاسلان التاليان اثنين من جافا سكريبت متماثلان تمامًا.
"المقهى" === "Caf/u00e9" => صحيح
يمكن أن تظهر كتابة Unicode Escape في التعليقات ، ولكن نظرًا لأن JavaScript تتجاهل التعليقات ، فإنها تعامل فقط على أنها أحرف ASCII في السياق ولن تتبعها أحرف Unicode.
توحيد IIII
يسمح Unicode بترميز نفس الحرف باستخدام طرق متعددة. على سبيل المثال ، يمكن للحرف é استخدام حرف Unicode /u00e9 ، أو يمكن استخدام حرف ASCII العادي E لمتابعة رمز النغمة /U0301. في محرر النصوص ، تكون النتائج التي تظهرها هاتين الترميزين متماثلة تمامًا ، لكن تمثيلات الترميز الثنائية الخاصة بها مختلفة وليست متساوية في أجهزة الكمبيوتر. يحدد معيار Unicode تنسيق رمز مفضل لأحرف الفهرس ويوفر طريقة معالجة موحدة لتحويل النص إلى تنسيق قياسي مناسب للمقارنة ، ولن يعود إلى توحيد تمثيلات أو سلاسل أو تعبيرات منتظمة أخرى.
2. التعليقات
يدعم JavaScript طريقتين للتعليق. سيتم تجاهل النص بعد "//" في نهاية الخط بواسطة JavaScript كتعليقات.
بالإضافة إلى ذلك ، يتم استخدام النص بين / * و * / / / يتم استخدامه كتعليقات. يمكن كتابة هذا النوع من التعليقات عبر الأسطر ، ولكن لا توجد تعليقات متداخلة.
// التعليق خط واحد
/*
*
*
*
*/
3. الكمية المباشرة
ما يسمى الكمية المباشرة (الحرفية) هي قيمة البيانات المستخدمة مباشرة في البرنامج. الكمية المباشرة مدرجة أدناه.
نسخة الكود كما يلي:
12 // الأرقام
1.2 // عشرية
"Hllo World" // String Text
"مرحبا" // سلسلة أخرى
صحيح // منطقية
خطأ // منطقي
/JavaScript /GI // التعبير العادي الكمية المباشرة (المستخدمة كمطابقة للنمط)
فارغ // فارغ
الفصل 3 سوف يشرح بالتفصيل الكمية المباشرة للأرقام والسلاسل. سيتم شرح الكمية المباشرة من التعبيرات العادية في الفصل 10. يمكن كتابة المزيد من التعبيرات عن الرعاية الاجتماعية كصفائف أو كائنات مباشرة.
{x: 1 ، y: 2} // object
[1،2،3،4،5] // صفيف
4. المعرفات والكلمات المحجوزة
المعرف هو اسم. في JavaScript ، يتم استخدام المعرفات لتسمية المتغيرات والوظائف ، أو لتمييز موضع القفز في بعض عبارات الحلقة في رمز JavaScript. يجب أن يكون معرف JavaScript في الحروف. تبدأ علامة السطح ، أو علامة الدولار. يمكن أن تكون الشخصيات اللاحقة رسائل. رقم. علامة السطح أو علامة الدولار (لا يُسمح للأرقام بالظهور كأحرف أول ، يمكن لـ JavaScript التمييز بسهولة مع المعرفات والأرقام) ، وما يلي معرفات قانونية
نسخة الكود كما يلي:
my_variable_name
B13
_دمية
$ str
من أجل قابلية النقل وسهولة الكتابة ، عادة ما نستخدم أحرف وأرقام ASCII فقط لكتابة المعرفات. بعد ذلك ، تجدر الإشارة إلى أن JavaScript يتيح الحروف والأرقام في مجموعة كاملة من أحرف Unicode في المعرف (من التكنولوجيا إلى Ecmascript يتيح أن تظهر فئة MN و MC و P لآلية حرف Unicode بعد الحرف الأول من المعرف). لذلك ، يمكن للمبرمجين استخدام اللغات غير الإنجليزية أو الرموز الرياضية لكتابة المعرفات.
نسخة الكود كما يلي:
var sá = true ؛
var π = 3.14 ؛
يأخذ JavaScript بعض المعرفات ككلمات رئيسية ، لذلك لم تعد الأسماء قادرة على استخدام هذه الكلمات الرئيسية كمعرفات في البرنامج.
نسخة الكود كما يلي:
استراحة
قضية
يمسك
تواصل المتابعة
تقصير
حذف الحذف
يفعل
آخر
أخيراً
ل
وظيفة
لو
في
مثيل
جديد
يعود
يُحوّل
هذا
يرمي
يحاول
نوع
var
فارغ
بينما
مع
جافا سكريبت الكلمات المحجوزة
تصدير الفئة const enum
يمتد التصدير الاستيراد الفائق
أيضًا ، هذه الكلمات الرئيسية قانونية في JavaScript العادية ، ولكنها كلمات محفوظة في وضع صارم
تنفذ اترك حزمة واجهة العائد العام الخاص
ثابت محمي
في نفس الوضع الصارم ، يتم تقييد المعرفات التالية بشكل صارم ، ولكن لا يمكن استخدام أسماء متغيرة وأسماء المعلمات وأسماء الوظائف.
الحجج تقييم
قد يحدد التنفيذ المحدد لـ JavaScript المتغيرات والوظائف العالمية الفريدة. يحتوي كل خادم محدد لبيئة البيئة (العميل) ، وما إلى ذلك ، على قائمة السمات العالمية الخاصة به ، والتي يجب وضعها في الاعتبار. (كائن النافذة لفهم قائمة المتغيرات والوظائف العالمية المحددة في JavaScript العميل)
5
مثل العديد من لغات البرمجة ، يستخدم JavaScript Semicolons (؛) لفصل البيانات. هذا مهم للغاية لتعزيز قابلية القراءة والهوية. تصبح نهاية البيان بدون فاصل بداية البيان التالي ، والعكس صحيح.
في JavaScript ، يشغل كل عبارة واحدة ، ويمكن عادةً حذف الفاصلة المنقوطة بين العبارات (يمكن أيضًا حذف فاصلة Semicolon قبل أقواس "}" في نهاية البرنامج). يستخدم العديد من مبرمجي JavaScript (بما في ذلك أمثلة الكود لهذا الكتاب) فاصلة فاصلة لتمييز نهاية البيان بوضوح ، حتى عندما لا تكون هناك حاجة بالكامل لاستقراءات النسيجيين. هناك نمط آخر هو حذف المنقصين عندما يمكن حذفها ، واستخدام فاصلة فاصلة فقط عند استخدامها. بغض النظر عن نمط البرمجة ، هناك العديد من التفاصيل التي يجب الانتباه إليها حول JavaScript.
الرمز التالي ، يمكن حذف أول فاصلة فاصلة
أ = 3 ؛
ب = 4 ؛
ومع ذلك ، إذا كتب بالتنسيق التالي ، لا يمكن حذف أول فاصلة فاصلة.
أ = 3 ؛ ب = 4 ؛
تجدر الإشارة إلى أن JavaScript لا يملأ المنقصين في جميع الخطوط الجديدة: سوف يملأ JavaScript المنقصين فقط عندما لا يتم تحليل الكود بشكل طبيعي بدون فاصلة فاصلة. بمعنى آخر (على غرار الاستثناءين في الكود التالي) ، إذا كان لا يمكن تحليل العبارة الحالية والأحرف غير المساحة اللاحقة ككل ، فسيتم ملء JavaScript Semicolons في نهاية البيان الحالي. انظر الرمز التالي
var a
أ
=
3
console.log (أ)
JavaScript يخلطها
var a ؛ a = 3 ؛ console.log (a) ؛
يضيف JavaScript فاصلة فاصلة إلى السطر الأول. بدون فاصلة فاصلة ، لا يمكن لـ JavaScript تحليل var aa في الكود. والثاني A يمكن استخدامه كبيان "A ؛" ، لكن JavaScript لا تملأ المنقص في نهاية السطر الثاني. لأنه يمكن تحليله مع محتوى السطر الثالث إلى "A = 3 ؛" .
ستؤدي قواعد بعض العبارات المنفصلة إلى بعض المواقف غير المتوقعة. ينقسم رمز الانهيار هذا إلى سطرين ، ويبدو أنهما بيانان مستقلان.
var y = x + f
(A+B) .ToString ()
تشكل الأقواس الموجودة على السطر الثاني استدعاء دالة مع F على السطر الأول. سوف يعتبر JavaScript هذا الرمز على أنه
var y = x+f (a+b) .toString () ؛
من الواضح أن النية الأصلية للرمز ليست هكذا. من أجل السماح بتحليل الكود أعلاه في بيانين مختلفين ، يجب عليك ملء الشاشة المنقوطة بالسلوك يدويًا.
بشكل عام ، إذا بدأ بيان ([ / + - ، من المحتمل جدًا أن يتم تحليله بالبيان السابق. البيانات التي تبدأ بـ / + - ليست شائعة جدًا ، ولكن البيانات تبدأ ([[شائعة جدًا.
إذا كان لا يمكن دمج البيان الحالي وبيان السطر التالي وتوحله. يملأ JavaScript المنقص بعد الصف الأول ، وهو قاعدة مشتركة ، ولكن لديه عمودين في الخارج. يتضمن الاستثناء الأول Returnm ، Birak ، ويستمر في البيان إذا كانت هذه الكلمات الرئيسية الثلاثة يتبعها استراحة سطر. سوف JavaScript تملأ فاصلة فاصلة في Newline. على سبيل المثال
على سبيل المثال
يعود
حقيقي؛
وجافا سكريبت في
العودة ؛
والمعنى الأصلي للرمز هو
إعادة الحقيقة
وبعبارة أخرى ، لا يمكن أن يكون هناك فاصل بين التعبيرات اللاحقة مع العودة والكسر و contuine. إذا تمت إضافة استراحة سطر ، يمكن للبرنامج الإبلاغ عن خطأ في ظروف خاصة فقط. علاوة على ذلك ، فإن تصحيح البرنامج غير مريح.
المثال الثاني هو عندما يتعلق الأمر بـ ++ - المشغل ، يمكن أن تمثل رموز التعبير هذه البادئة واللاحقة لتعبير المعرف. إذا تتبعه التعبير ، إذا تم استخدامه كتعبير لاحقة. وينبغي اعتباره والتعبير سطر واحد. وإلا سيتم ملء Semicolon في نهاية الخط.
نسخة الكود كما يلي:
x
++
نعم
يتم تحليل الرمز أعلاه
نسخة الكود كما يلي:
x ؛
++ ذ