إعطاء القيم للمتغيرات

إعطاء القيم للمتغيرات

إعطاء القيم للمتغيرات
إعطاء القيم للمتغيرات

كما سبق وأن ذكريا يمكن أن يتم إعطاء قيمة عددية، أو قيمة لفظية للمتغير ونكون بذلك قد قمنا بتخزين هذه القيمة في المتغير بشكل مؤقت و دائم، ويمكن استدعاء القيمة المعطاة للمتغير من خلال أسم المتغير، كما حدث في المثال السابق.

كما يمكن أعطاء قيمة لمتغير بناء على قيمة متغير أخر، كما في الكود التالي:

Var myVariable;

Var myOtherVariable;

myOtherVariable;=22;

myVariable= myOtherVariable;

في السطر الأول من الكود تم تعريف المتغير myfirstVariable، وفي السطر الثاني يتم تعريف متغير آخر وهو المتغير myOtherVariable، وفي السطر الثالث يتم إعطاء هذا المتغير الآخر القيمة العددية 22، وفي السطر الرابع تم إعطاء المتغير الأول قيمة المتغير الثاني بجعل المتغير الأول يساوي المتغير الثاني.

* المثال يوضح كيفية إعطاء القيم للمتغيرات.

<html>

<body>

<script language=”JavaScript” type=”text/javascript”>

var string 1 = “Hello”;

var string2 = “Goodbye”;

alert(stringl);

alert(string2);

string2 = string 1;

alert(stringl);

alert(string2);

string 1 = “Now for something different”;

alert(stringl);

alert(string2);

</script>

</body>

<//html>

وبتشغيل الإسكريبت السابق تنتج رسالة التحذير التي تحمل عبارة Hello، وبقيام زائر الموقع بالنقر عليها بزر الماوس تظهر رسالة تحذير أخرى تحمل عبارة Goodby، وبالنقر على زر Ok الموجود في رسالة التحذير هذه تظهر رسالة تحذير ثالثة تحمل عبارة Hello مرة أخرى، وبالنقر على زر Ok الموجود في رسالة التحذير الثالثة تظهر رسالة تحذير رابعة تحمل عبارة Hello أيضًا، وبالنقر على زر Ok الموجود في هذه الرسالة الرابعة تظهر رسالة تحذير خامسة تحمل عبارة Now For Something Different، وبالنقر على زر Ok الموجود في رسالة التحذير الخامسة تظهر رسالة تحذير سادسة تحمل عبارة Hello مرة أخرى.

رسالة التحذير الأولى

رسالة التحذير الثانية

رسالة التحذير الثالثة

رسالة التحذير الرابعة

رسالة التحذير الخامسة

رسالة التحذير السادسة

في الإسكريت السابق قمنا بتعريف متغيرين هما المتغير 1 string وأعطينا له القيمة “Hello”، وقمنا بتعريف المتغير الثاني String2 وأعطينا له القيمة “goodby”، وذلك باستخدام الكود التالي:

varstringl =’’Hello”;

var String2 = “Goodbye”;

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

alert(stringl);

alert(string2);

ثم قمنا بالكود التالي إعطاء قيمة للمتغير String2 تساوي قيمة المتغير اstring ونكون. بذلك قد نسخنا القيمة الموجودة في المتغير String2 واستبدلناها بقيمة جديدة هي قيمة المتغير 1 string، ثم طلبنا من المتصفح إظهار رسالة تحذير تحمل قيمة المتغير stringl، ثم رسالة تحذير تحمل قيمة المتغير String2 ؛ والتي هي الآن تساوي قيمة المتغير stringl، وذلك بالكود التالي:

String2 = stringl;

alert(stringl);

alert(string2);

وبالتالي ظهرت كل من رسالة التحذير الثالثة، والرابعة تحمل نفس العبارة Hello التي هي قيمة المتغير الأول، وأصبحت قيمة المتغير الثاني.

أما في الكود التالي فقد قمنا بتغيير قيمة المتغير الأول وأعطيناه قيمة جديدة وهي القيمة “now for something different” ، ثم طلبنا من المتصفح طباعة رسالة تحمل قيمة المتغير الأول وقيمة المتغير الثاني بالكود التالي:

stringl = “Now for something different”;

alert( stringl);

alert(string2);

وبذلك تتغير رسالة التحذير الخامسة التي تظهر لتحمل قيمة المتغير الأول، وهل تتغير أيضًا القيمة ألتي تحملها الرسالة السادسة والتي تحمل قيمة المتغير الثاني؛ أي بمعني آخر هل تتغير قيمة المتغير String2 والذي أخذ قيمة المتغير الأول stringl بتغيير قيمة المتغير الأول، الإجابة بالقطع بالنفي، لأن تغيير قيمة المتغير الأول stringl حدث بعد إعطاء قيمة هذا المتغير للمتغير الثاني string2، وبالتالي أصبحت قيمة المتغير الثاني مستقلة عن قيمة المتغير الأول، وبتغيير قيمة المتغير الأول لن تتغير قيمة المتغير الثاني بالتبعية، ولذلك لم تتغير القيمة التي تحملها رسالة التحذير السادسة وأخذت نفس القيمة التي تحملها رسالة التحذير الرابعة، حيث أن قيمة المتغير لم تتغير بتغير قيمة المتغير الذي سبق وإن أعطينا هذا المتغير قيمته.

 

m2pack.biz