جاڤاسكريپت

(تم التحويل من جافاسكربت)

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

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

تزايد الاهتمام بالجافاسكريبت خاصة بعد انتشار تقنية الاجاكس AJAX والتي أدت إلى سرعة في التفاعل مع المستخدم.

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

الكائنات Objects

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


المتغيرات Variables

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

الدوال Functions

و تسمى أيضا وظائف.

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

التكراريات Loops

تمكن من تنفيذ مجموعة تعليمات بطريقة تكرارية أو دورية.

ومنها:

الشرطيات Conditions

مجموعة تعليمات تنفذ في حالة تحقق شرط معين.

ومنها:

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

يمكن دعم جافا سكربت ضمن صفحة 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">
      document.write('مرحبا بالعالم!');
    </script>
    <noscript>
      <p>يبدوا ان متصفحك لايدعم الجافا سكربت او ان اعدادات الامان لاتسمح بذلك. اذا رغبت بالاستمرار في تنفيذ هذا البرنامج يجب حل المشكلة اولا!</p>
    </noscript>
  </body>
</html>

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

فمثلا يمكن إعادة تعريف دوال الجيب وجيب التمام الموجودة اصلا في مكتبة الجافا سكربت بالكلمات sin و cos لتصبح بالعربية جا و جتا كما يلي:

 جا = sin;
 جتا = cos;

وبالتالي إعادة استخدام الدوال في البرنامج كما في المثال التالي:

جا(1)-3/2*جتا(1-جا(1.2));

ويمكن أيضا تعريف دوال جديدة مثل حظ():

function حظ()
{
   //هذه الدالة تستدعي دالة العشوائية
   if(Math.random()*10<5) return "حظك عاثر";
   else return "حظك حافل";
}
لغات برمجة
لغات كائنية
سي++
++C
سي شارپ
#C
دلفي (لغة برمجة)
Delphi
ادا 95
Ada
جاڤا
Java
سمولتوك
Smalltalk
روبي
Ruby
اوبجكت پاسكال
Object Pascal
لغات تقليدية
بيسيك
Basic
سي
C
باسكال
Pascal
كوبول
COBOL
فورتران
FORTRAN
أسمبلي
Assembly
لغات وظيفية
ليسپ
Lisp
پرولوگ
Prolog
پايثون
Python
پاريس
Paris
هندسة برامج
الكلمات الدالة: