كتاب تعلم الجافا سكربت

كتاب تعلم الجافا سكربت
================
 الفضل الاول الكائنات في JavaScript
 الفصل الثاني التعامل مع الكائنات والخاصيات
 الفصل الثالث الكائن Object
 الفصل الرابع الكائن Function
 الفصل الخامس الكائن الرئيسي العام.
 الفصل السادس الكلمة المحجوزة 
 الفصل السابع المجالت في JavaScript
 الفصل الثامن خاصية التابعة للدوال
 الفصل التاسع المصفوفات والكائن 
 الفصل العاشر السلسل النصية 
 الفصل الحادي عشر العداد 
 الفصل الثاني عشر القيم المنطقية Boolean
 الفصل الرابع عشر القيمة 
 الفصل الخامس عشر القيمة undefined
 الفصل السادس عشر الدوال الرياضية

> تفضل يمكنك تحميل الكتاب من هنا <


جافا سكريبت (بالإنجليزية: JavaScript) هي لغة برمجة عالية المستوى تستخدم أساسا في متصفحات الويب لإنشاء صفحات أكثر تفاعلية. يتم تطويرها حاليا من طرف شركة نتسكيب وشركة موزيلا. كانت لغة الجافاسكريبت موجهة للمبرمجين الهواة وغير المحترفين، إلا أنه تزايد الاهتمام بها وجذبت اهتمام مبرمجين محترفين بعد إضافتها لتقنيات جديدة كإنتشار تقنية أجاكس التي أدت إلى سرعة في التفاعل بين الخادم والعميل. تُستخدَم لغة JavaScript لإنشاء صفحات ويب تفاعلية، ولتوفير تطبيقات ويب بما في ذلك الألعاب؛ وهي مُستعمَلة من أغلبية المواقع، وتدعمها جميع المتصفحات تقريبًا دن الحاجة إلى إضافات خارجية.

أصل التسمية
في البداية تم تطوير هذه اللغة تحت اسم موكا (Mocha)، وأطلق عليها اسم LiveScript رسمياً أثناء تجريبها في إصدار متصفحات نتسكيب نافيجاتور 2.0 بيتا (Beta) سنة 1995. لكنها لاحقاً غيرت اسمها إلى جافاسكريبت JavaScript ويعود ذلك إلى إضافتها لدعم لغة الجافا.

هذا التغيير في الاسم سبب الغموض وسوء الفهم موحياً بأن لغة الجافا والجافاسكريب مرتبطان أو متشابهتان. صحيح أن كلاهما يمتلكان شكلاً شبيهاً بلغة السي، إلا أن أوجه الاختلاف بين اللغتين واسع:

الجافا بحاجة إلى التحويل إلى بايت كود Bytecode. بينما برامج الجافاسكريبت فيتم معالجتها كنص مصدري.
المتغيرات في الجافا ثابتة النوع، بينما في الجافاسكريبت فهي ديناميكية. يعني أنك عند تعريف متغير ما في الجافا فيجب تحديد نوعه الذي لا يمكن تغييره. مثلا، لو عرفت المتغير "العمر" بأنه رقم وأعطيته قيمة "7" مثلا فلا يمكنك تغيير الرقم إلى نوع آخر (ككلمة "سبعة"). بينما في الجافاسكريت فيمكنك فعل ذلك.
الجافا لم تدعم البرمجة الأمرية إلا بداية من الإصدار الثامن. بينما الجافاسكريبت فدعمتها منذ البداية.
بنية اللغة
كانت لغة JavaScript محدودةً إلى متصفحات الويب فيما قد سلف، لكن توسّع مجال JavaScript في الفترة الأخيرة لتضم إنشاء تطبيقات ويب من جهة الخادم (server-side) مع التعامل مع قواعد البيانات، إضافةً إلى إمكانية استخدامها في بيئات ليست متعلقة بالويب مثل معالجات النصوص وبرمجيات PDF، ومن الممكن استعمالها أيضًا لكتابة تطبيقات سطح المكتب أو تطبيقات الهواتف، وحتى تطوير الألعاب!

هنالك الكثير من محركات JavaScript، وكل واحدٍ منها يخضع لمواصفة ECMAScript (مع أنَّها تختلف فيما بينها بالإصدارات التي تدعمها). يوجد في نهاية كل صفحة من صفحات هذا التوثيق قسمٌ بعنوان «دعم المتصفحات» الذي نذكر فيه ما هي المتصفحات التي تدعم الميزة المذكورة.

يتألف أساس لغة JavaScript من الميزات الشائعة للغات البرمجة، التي تسمح لنا:

بتخزين القيم داخل متغيرات،
إجراء عمليات معالجة على السلاسل النصية،
تنفيذ إجراءات معيّنة اعتمادًا على وقوع الأحداث.
ما يجب أن يثير اهتمامنا هو الواجهات البرمجية التي تُضيف وظائف على لغة JavaScript، وتسمى هذه الواجهات البرمجية بالمصطلح APIs (أي Application Programming Interfaces)، والتي تسمح للمطورين باستخدام لغة JavaScript للتعامل مع كثيرٍ من الأشياء، في مجال متصفحات الويب يمكننا استخدام JavaScript للتعامل مع شجرة DOM، ولاستخدام الواجهة البرمجية للمواقع الجغرافية (Geolocation API)، ولإنشاء رسوميات ثنائية وثلاثية الأبعاد عبر Canvas وWebGL، وللتحكم بالوسائط مثل الفيديو والصوت، وغير ذلك.


ويمكن استخدام JavaScript أيضًا من طرف الخادم، ولمزيدٍ من المعلومات انظر إلى صفحة Node.js.