الفصل الثاني
المتغيرات والمصفوفات
تعريف المتغير
يوجد في جافا سكريبت طريقتان لتعريف المتغير، حيث لا يمكنك استخدام قيمة المتغير بدون أن تقوم بتعريف المتغير أولًا، فإما أن تقوم بتعريف المتغير باستخدام الكلمة المفتاحية var، والتي تستخدم في تعريف المتغيرات كما في الكود التالي:
var myFirstVariable;
ففي الكود السابق تم استخدام الكلمة المفتاحية var في تعريف المتغير myFirstVariable، كما يمكنك تعريف المتغير بإعطاء قيمة للمتغير، فعندما تقوم بإعطاء قيمة للمتغير تعتبر جافا سكريبت ضمنيًا أن إعطاء المتغير قيمة هي عملية تعريف للمتغير كما في الكود التالي:
;101 = myFirstVariable
ففي الكود السابق تم أعطاء المتغير myFirstVariable القيمة 101، وبهذا تعتبر جافا سكريبت أنك قمت بتعريف المتغير بإعطائه قيمة، حتى لو لم تستخدم الكلمة المفتاحية var في تعريف المتغير.
* وفيما يلي مثال عن تعريف المتغيرات:
<html>
<head>
</head>
<body>
<script language=”JavaScript” type=”text/javascript”>
var myFirstVariable;
myFirstVariable = “Hello”؛
alert(myFirstVariable);
myFirstVariable = 54321;
alert(myFirstVariable);
</script>
</body>
</html>
* وينتج عن الإسكريبت (أو الكود) السابق رسالة التحذير التي تحمل كلمة Hello، كما يوضحها (شكل رقم 1-1)، وبقيام المستخدم بالنقر على زر Ok الموجود في رسالة التحذير تظهر رسالة تحذير أخرى تحمل القيمة 54321
* ففي الإسكريبت السابق تم تعريف المتغير myFirstVariable باستخدام الكلمة المفتاحية var في بداية الإسكريبت باستخدام الكود التالي:
;var myFirstVariable
* ثم قمنا بعد ذلك بإعطاء القيمة Hello للمتغير وذلك في الكود التالي:
;”myFirstVariable = “Hello
لاحظ أن القيمة التي تم إعطاؤها للمتغير هي قيمة نصية، ولذلك تم وضع القيمة بين علامتين التنصيص ” “، ولاحظ أيضًا أن الكود الخاص بتعريف المتغير باستخدام الكلمة المفتاحية var لم يعد له أي قيمة، حيث أن عملية إعطاء قيمة للمتغير تعتبر ضمنيًا عملية تعريف للمتغير كما سبق وأن ذكرنا، وجرب ذلك
وحاول أن تقوم بإعادة كتابة الإسكريبت مرة أخرى مع إزالة الكود الأول الخاص بتعريف المتغير، ستجد أن الإسكريبت يعمل، وأن ليس هناك أي تأثير ناتج عن إزالة الكود الخاص بتعريف المتغير باستخدام الكلمة المفتاحية var طالما أنك قمت بإعطاء المتغير قيمة.
والكود التالي نطلب من المتصفح أن يقوم بإظهار رسالة تحذير يكون عنوانها هو القيمة المعطاه للمتغير myFirstVariable، وهي القيمة Hello، ونحن في هذه الحالة قد استدعينا القيمة التي أخذها المتغير من خلال أسم المتغير.
alert(myFirstVariable);
وبالكود التالي قمنا بتغيير القيمة المعطاة للمتغير Variable myFirst، وأعطيناه قيمة جديدة هي 54321، وفي هذه الحالة تحل هذه القيمة محل القيمة القديمة التي كانت معطاة للمتغير، وهي القيمة Hello.
؛54321 = myFirstVariable
لاحظ من الكود السابق أن القيمة الجديدة التي تم إعطاؤها للمتغير هي قيمة عددية وأن القيمة القديمة التي كانت قيمة لفظية، وقد قبل المتغير القيمة الجديدة بالرغم من اختلاف نوعها عن نوع القيمة التي كانت معطاة له مسبقًا، وأن هذا لم يكن ليحدث في العديد من لغات البرمجة الأخرى التي تقوم بتحديد نوع المتغير عند تعريفه في أول مرة، والسبب في ذلك هي أن لغة جافا سكريبت تقوم بتغيير نوع المتغير تلقائيًا على أساس القيمة التي يتم إعطاؤها للمتغير، فالمتغير في القيمة الأولى كان متغير لفظي، ثم بإعطائه قيمة عددية تغير نوع هذا المتغير وأصبح
متغير عددي
وبتغيير القيمة المعطاة للمتغير في الكود السابق وإحلاله القيمة الجديدة محل القيمة الجديدة عندما قمنا باستدعاء قيمة المتغير مر أخرى بالكود التالي، تم إظهار رسالة التحذير التي تحمل القيمة الجديدة.
Alert(myfirstVariable);