Js Jono
Js Jono
ال تنتهي القائمة هنا ،فهناك العديد من األشياء األخرى المثيرة لالهتمام التي يمكننا القيام بها
باستخدام .JavaScriptسوف تتعرف عليهم جميعًا بالتفصيل في الدروس القادمة.
ما الذي ستتعلمه خالل دورة JavaScript؟
تغطي دورة JavaScriptهذه جميع مفاهيم البرمجة األساسية ،بما في ذلك أنواع البيانات
، data typesوالعمليات ، operatorsوإنشاء المتغيرات variablesواستخدامها ،
وتوليد المخرجات ،وهيكلة الكود الخاص بك التخاذ القرارات في برامجك أو تكرار نفس كتلة
التعليمات البرمجية عدة مرات ،وإنشاء السالسل stringsومعالجتها وإنشاء المصفوفات
Arraysوالتعامل معها ،وتعريف واستدعاء الدوال ، functionsوما إلى ذلك.
بعد ذلك سننتقل إلى المستوى الثاني الذي يشرح فكرة الكائنات ، objectsونموذج كائن المستند
)Document Object Model (DOMونموذج كائن المتصفح Browser Object
، )Model (BOMباإلضافة إلى كيفية االستفادة من كائنات JavaScriptاألصلية مثل
التاريخ Dateوالرياضيات Mathوما إلى ذلك .
أخيرً ا في المستوى الثالث ،سنتعلم كيفية التعامل مع األحداث eventوغير ذلك من الموضوعات
المتقدمة في هذه اللغة ،باإلضافة إلى نظرة مفصلة على الميزات المقدمة في ECMAScript 6
أو ما تعرف إختصاراً .ES6
البداية
هنا ،ستتعلم مدى سهولة إضافة تفاعل إلى صفحة ويب باستخدام .JavaScriptولكن قبل أن نبدأ
،تأكد من أن لديك بعض المعرفة العملية بـ HTMLو .CSS
إذا كنت قد بدأت للتو في عالم تطوير الويب ،فابدأ التعلم من هنا
حس ًنا ،لنبدأ بلغة البرمجة النصية األكثر شيوعًا من جانب العميل.
يمكننا تضمين كود JavaScriptمباشر ًة في صفحات الويب الخاصة بنا عن طريق وضعها
كمحتوى داخل العنصر < >scriptويشير العنصر < >scriptإلى متصفح الويب بأنه يحتوي
على نص برمجي قابل للتنفيذ وليس كود .HTML
مثال
مالحظة: :
ضا وضع كود JavaScriptفي ملف منفصل بامتداد ، js.ثم استدعاء هذا يمكننا أي ً
الملف في صفحة الويب من خالل السمة srcالخاصة بالوسم <>script
بناء الجملة
>1.<script src="js/hello.js"></script
هذه الطريقة مفيدة إذا كنا نريد إتاحة نفس كود JavaScriptلصفحات متعددة .في هذه
وتكرارا ،مما يجعل صيانة موقع الويب
ً مرارا
ً الحالة لن نتحاج إلى تكرار نفس المهمة
الخاص بنا أسهل بكثير.
حس ًنا ،دعنا ننشئ ملف JavaScriptباسم " "hello.jsونضع الكود التالي فيه:
مثال
مثال
>1.<!doctype html
>2.<html
>3.<head
>"4.<meta charset="utf-8
></titleخارجي JavaScriptاستدعاء ملف>5.<title
>6.</head
>7.<body
>8.<button type="button" id="myBtn">Click Me<button
>9.<script src="js/hello.js"></script
>10. </body
>11. </html
مالحظة: :
عاد ًة عندما يتم تنزيل ملف JavaScriptخارجي ألول مرة ،يتم تخزينه
ا ًا في ذاكرة التخزين المؤقت للمتصفح (تما ًما
يجع ال خاد الو ع إلى تنز ل تح نماط)
في صفحا الو
ومع ذلك ،يجب تجنب وضع كمية كبيرة من كود JavaScriptمضمنة ألنها ستخلق
حالة من الفوضى ما بين HTMLمع JavaScriptوتجعل من الصعب الحفاظ على كود
.JavaScript
مثال
>1.<!doctype html
>2.<html
>3.<head
>"4.<meta charset="utf-8
>5.<title>Inlining JavaScript</title
>6.</head
>7.<body
8.<button onclick="alert('Hello World!')">Click
>Me</button
>9.</body
>10. </html
س ُيظهر لك المثال أعاله رسالة تنبيه عند النقر فوق عنصر الزر <. >button
وضع كود البرنامج النصي داخل مستند HTML
يمكن وضع العنصر < >scriptفي قسم <>headأو < >bodyفي مستند . HTML
ولكن من الناحية المثالية ،يجب وضع البرامج النصية في نهاية قسم النص ،قبل وسم
اإلغالق < >body/مباشرة ،مما يجعل تحميل صفحات الويب الخاصة بك أسرع ،ألنها
تمنع إعاقة عرض الصفحة األولية.
يعيق كل عنصر < >scriptعملية عرض الصفحة حتى يتم تنزيل اكود JavaScript
وتنفيذها بالكامل ،لذا فإن وضعها في قسم الرأس (أي عنصر < )>headمن المستند دون
أي سبب وجيه سيؤثر بشكل كبير على أداء موقع الويب الخاص بك.
نصيحة: :
تتميز البرمجة النصية من جانب العميل بالعديد من المزايا مقارنة بنهج البرمجة النصية
التقليدية من جانب الخادم .على سبيل المثال ،يمكنك استخدام JavaScriptللتحقق مما
إذا كان المستخدم قد أدخل بيانات غير صالحة في حقول النموذج وإظهار إشعارات بأخطاء
اإلدخال وف ًقا لذلك في الوقت الفعلي قبل إرسال النموذج إلى خادم الويب للتحقق النهائي من
البيانات ومعالجتها من أجل منع اإلستخدام غير الضروري لموارد الشبكات واستغالل موارد
نظام الخادم.
ً
مقارنة بالبرنامج النصي من ضا ،تكون االستجابة من برنامج نصي من جانب الخادم أبطأأي ً
نظرا ألن البرامج النصية من جانب الخادم تتم معالجتها على الخادم البعيد
جانب العميل ً ،
وليس على الجهاز المحلي للمستخدم.
بناء جملة JavaScriptهي مجموعة القواعد التي تحدد بناء برنامج JavaScript
منظم بشكل صحيح .تتكون لغة JavaScriptمن عبارات يتم وضعها داخل عنصر
< >scriptفي صفحة الويب ،أو داخل ملف JavaScriptخارجي بامتداد .js.
مثال
;1.var x = 5
;2.var y = 10
;3.var sum = x + y
//طباعة قيمة المتغير ;)4.document.write(sum
JavaScriptحساس لحالة األحرف .هذا يعني أنه يجب دائمًا كتابة المتغيرات والكلمات
األساسية للغة وأسماء الدوال والمعرفات األخرى بأحرف كبيرة متسقة.
على سبيل المثال ،يجب كتابة المتغير myVarوليس MyVarوليس .MyVarوبالمثل ،
يجب كتابة اسم الدالة )(getElementByIdبشكل دقيق وبنفس حالة االحرف وليس
بالحالة )(getElementByID
مثال
;"!1.var myVar = "Hello World
;)2.console.log(myVar
;)3.console.log(MyVar
;)4.console.log(myvar
إذا قمت بالتحقق من وحدة تحكم المتصفح browser consoleعن طريق الضغط على
سطرا كالتالي:
ً المفتاح f12على لوحة المفاتيح ،فسترى
""Uncaught ReferenceError: MyVar is not defined
تما ًماُ .تضاف التعليقات JavaScriptالتعليق هو ببساطة سطر من النص يتجاهله مترجم
كتابة source code .عاد ًة بغرض توفير معلومات إضافية تتعلق بالكود المصدري
ضا
التعليقات لن تساعدك فقط على فهم الكود الخاص بك بعد فترة من الوقت ولكن أي ً
.اآلخرين الذين يعملون معك في نفس المشروع
التعليقات أحادية السطر باإلضافة إلى التعليقات متعددة األسطر .تبدأ JavaScriptيدعم
التعليقات أحادية السطر بشرطة مائلة مزدوجة ، //متبوعة بنص التعليق .كما في المثال
:التالي
مثال
//هذا هو اول برنامج جافاسكريبت لنا 1.
;)"!2.document.write("Hello World
حيث أن التعليق متعدد األسطر يبدأ (من اليسار إلى اليمين) بشرطة مائلة وعالمة النجمة
*/وينتهي بعالمة النجمة والشرطة المائلة * ./فيما يلي مثال على تعليق متعدد األسطر.
مثال
هذا هو اول برنامج *1./
*/جافاسكريبت لنا 2.
;)"!3.document.write("Hello World
في المثال أعاله ،أنشأنا ثالثة متغيرات ،تم تحديد قيمة للمتغير االول من نوع سلسلة نصية
، stringوتم تحديد قيمة رقمية numberللمتغير الثاني ،بينما تم تحديد قيمة منطقية
booleanآلخر متغير .يمكن أن تحتوي المتغيرات على أنواع مختلفة من البيانات ،
وسنتعرف عليها في درس الحق.
ضا اإلعالن عن المتغيرات دون تحديد أي قيم أولية لها .هذا
في ، JavaScriptيمكننا أي ً
مفيد للمتغيرات التي من المفترض أن تحتفظ بقيم مثل مدخالت المستخدم.
مثال
//اإلعالن عن متغير 1.
; 2.var userName
//تحديد قيمة للمتغير 3.
;"4.userName = "Ahmed Ali
مالحظة: :
في ، JavaScriptإذا تم اإلعالن عن متغير ،ولكن لم يتم تحديد قيمة له
بشكل صريح ،فسيتم تلقائ ًيا تحديد القيمة undefinedله. .
مثال
في المعيار ES6تم إضافة كلمتين محجوزتين جديدتين letو constلإلعالن عن
المتغيرات.
تعمل الكلمة المحجوزة constتمامًا مثل ، letباستثناء أن المتغيرات المُعلنة باستخدام
كلمة constال يمكن التعديل على محتوها الح ًقا في الكود .هذا مثال:
مثال
اإلعالن عن المتغيرات 1.//
;"2.let name = "Ahmed Samir
;3.let age = 11
;4.let isStudent = true
اإلعالن عن الثوابت 5.//
;6.const PI = 3.14
7.console.log(PI);// 3.14
محاولة إعادة تحديد قيمة للثابت 8.//
9.PI = 10; // error