الجمعة، 8 أكتوبر 2010

javaScript اللغة الرائعة

جافا سكريبت 
(بالإنجليزية: JavaScript‏) هي لغة برمجة وتأتي كلمة جافا من الإنجليزية وتعني جزيرة جاوة وهي جزيرة إندونيسية، ولا علاقة لمنشأ اللغة باسمها. طورت جافاسكريبت من قبل شركة نيتسكيب (Netscape) وصن مايكروسيستمز (Sun Micro systems). تختلف الجافا سكريبت عن لغة الجافا من شركة صن مايكروسيستمز والتشابه في الاسم لا يرجع لأنهما مثل بعضهما، وفائدة هذه اللغة هي بثّ الحياة إلى شبكة الإنترنت، حيث تستخدم لإنشاء صفحات إنترنت أكثر تفاعلية (ديناميكية).

يوجد نمطين للغة جافا سكريبت من حيث التنفيذ لدى العميل ولدى الخادم، الأول يقوم بتحميل الكود مع صفحة HTML ومن ثم تصبح العمليات التي يطلبها المستخدم تنفذ على جهازه أي ضمن المتصفح الخاص به والثانية تجبر المتصفح على الاتصال مع الخادم من أجل تنفيذ الأوامر وإعطاء النتيجة إلى العميل ليقوم بعرضها. ويعيب الأولى بطء تحميل الصفحة للمرة الأولى ومن ثم سرعة التنفيذ أثناء الجلسة ولكن الثانية تتميز بسرعة التحميل للمرة الأولى والبطئ في الاستجابة بسبب عملية الاتصال مع المخدم لدى كل طلب من الزبون
تزايد الاهتمام بالجافاسكريبت خاصة بعد انتشار تقنية الاجاكس AJAX والتي أدت إلى سرعة في التفاعل مع المستخدم.
وقد أنشئت هذه اللغة لتعمل بالكامل من خلال المتصفح، لذلك فلا يمكن استخدامها لإنتاج برامج تعمل وحدها دون المتصفح، وهي في ذلك مثلها مثل لغات الشبكة الأخرى كـ HTML وغيرهما.

الكائنات Objects

الكائنات Objects مثلا هي الصور والأزرار والصفحات والبيانات وكل ما في ذاكرة الحاسب من أشياء يتم التعامل معها كأنها كائنات. وكل كائن له خصائص تميزه وطرق (Methods) ووظائف (Functions) تستخدم للتعامل مع كل كائن للقيام بالوظائف الخاصة به.

المتغيرات Variables

تعتبر كذاكرات تحفظ قيما وتحمل اسما معينا ويمكن استرجاع القيمة أو تعديلها أئناء التشغيل الفعلي للكود (Run time)، كما أنه في لغة جافاسكربت يمكن تعديل نوع البيانات (Data Type) المخزنة في هذا المتغير أيضا أثناء التشغيل الفعلي للكود وتسمى هذه الخاصية تغيير النوع التفاعلي (Dynamic typing) . و تقوم بأنشائ المتغيرات عن طريق هذا الكود:: var nameOfVariable;

الدوال Functions

و تسمى أيضا وظائف.
وهي تجمع عدة تعليمات (Instructions) تحت اسم مرجعي واحد. فمثلا لطلب أن يقوم المتصفح بإظهار رسالة معينة للمستخدم ثم تلقي الإجابة منه نقوم بجمع هذه التعليمات في دالة (وظيفة) واحدة، وكلما تطلب الأمر تنفيذ نفس التعليمات السابقة نقوم باستخدام هذه الدالة فورا دون الحاجة لكتابة التعليمات مرة أخرى.

التكراريات Loops

تمكن من تنفيذ مجموعة تعليمات بطريقة تكرارية أو دورية.
ومنها:
  • تكرارية for
  • تكرارية while
  • تكرارية do while
  • تكرارية case

الشرطيات Conditions

مجموعة تعليمات تنفذ في حالة تحقق شرط معين.
ومنها:
  • شرطية if
  • شرطية switch

استخدام جافا سكربت في صفحات الوب

يمكن دعم جافا سكربت ضمن صفحة HTM لإنشاء دوال تفاعلية مع الصفحة وهذا ما تستخدمه العديد من الشركات امثال ياهوو وهوتميل. هنا مثال بسيط لصفحة وب محتوية على كود جافا سكربت:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"><html dir = "rtl"><head><title>صفحة وب مبسطة..</title></head><body><script type="text/javascript"></script><noscript><p>يبدوا ان متصفحك لايدعم الجافا سكربت او ان اعدادات الامان لاتسمح بذلك.


  
  
    
      document.write('مرحبا بالعالم!');
    
    
      
 اذا رغبت بالاستمرار في تنفيذ هذا البرنامج يجب حل المشكلة اولا!</p></noscript></body></html>
    
  

أو بطريقة أخرى
<script type="text/javascript"></script>
var myname
myname=document.prompt('enter your name,'')
     document.write('مرحبا'+myname)


مايميز استخدام هذه اللغة في الوب هو مرونتها حتى في إعادة تعريف الدوال والمتغيرات بأحرف مرمزة بلغة أخرى مثل العربية وأبرز مثال هو برنامج المعالج الرياضي (حاول فتح الارتباط في صفحة جديدة كي لاتفقد هذه الصفحة! كما يجب أن يكون الترميز لديك هو العربية) الذي تم انشاؤه في إحدى صفحات Freewebs.com المجانية. مع انه لايفضل استخدام لغات غير الإنكليزية إلا أن الغرض هو اظهار مرونة هذه اللغة ووتبسيط الدوال للطلبة الناشئين (التي لاتسمح أعمارهم بفهم الدوال بـالانكليزية).

فمثلا يمكن إعادة تعريف دوال الجيب وجيب التمام الموجودة اصلا في مكتبة الجافا سكربت بالكلمات sin و cos لتصبح بالعربية جا وجتا كما يلي:
 جا = sin;= cos;
 جتا 
وبالتالي إعادة استخدام الدوال في البرنامج كما في المثال التالي:
جا(1)-3/2*جتا(1-جا(1.2));
ويمكن أيضا تعريف دوال جديدة مثل حظ():
function حظ(){//هذه الدالة تستدعي دالة العشوائيةif(Math.random()*10<5) return "حظك عاثر";else return "حظك حافل";}

   
   
   

هناك تعليقان (2):

  1. الف شكرا لك

    جزاك الله عنا خيرا

    اتمنى لك مزيدا من التوفيق و التألق

    أسأل الله أن يزيدك من العلم وأن يعينك على نشره

    ردحذف
  2. شكرا لمرورك يا برمجتنا العملاقة
    نمتنى تواصلك معنا

    ردحذف