مــــنـقوووووووول
بسم الله الرحمن الرحيم
الكتابة بالجافا سكريبتس تخضع لبعض الشروط التي لامفر من تعلمها ، وإتباعها ، وإلا فإن البرامج وبكل بساطة ، لن تعمل .
أولاُ : Case sensitivity
الجافا سكريبتس هي case sensitive language ، أي أن الكلمة المكتوبه بالحروف اللاتينيه الصغيره تختلف عن نفس الكلمة مكتوبة بالأحرف الكبيره
مثلا :
Naser غير naser غير naSer ، وهكذا ..
ثانيا : الفاصلة المنقوطه Semicolons
يفترض الى درجة الإلزام أن ينتهي كل سطر بفاصلة منقوطة :
var x=3;
ثالثاً : المساحات الخالية :
الجافا سكريبتس كما ال HTML تتجاهل المساحات الخالية ، والسطور الجديدة ، مثلا :
var x=4 هي نفسها var x = 4
مع ملاحظة أنه لابد من ترك مسافة خالية على الأقل بعد أي مصطلح من مصطلحات الجافا !
رابعا : الأقواس
ستقابلك أثناء الكتابة بالجافا أقواس عدة ، على إختلاف أنواعها ، يجب عليك بعد فتح أي قوس من هذا الأقواس غلقة ، تتابعيا ، القوس الأخير فالذي يليه
لكي لايخلق لك ذلك أية مشاكل أثناء تنفيذ البرنامج ، ولاننسى أي مشكلة معناها توقف البرنامج عن العمل .
إطلع على المثال التالي لفهم ذلك :
If (t[3] != 11) {
t[4]=2;
}
خامسا : الكلمات المحجوزة
أو مصطلحات الجافا المحجوزة ، وهي أوامر الجافا التي لايمكنك نسب أي متغيرات إليها على الإطلاق ، كما في كل لغات البرمجة المعروفة .
طبعا لايجب عليك حفظها كاملة ، وإنما الإلمام بها . وستجد جدولا مبينا لها في الصفحة التالية .. فهيا بنا الى هناك
* المتغيرات في الجافا سكريبتس :
سنتطرق الآن الى المتغيرات في الجافا سكريبتس، كمبرمج سجد أنه من الأمور الأساسية أن تسند المتغيرات الى بعضها بعد تعريفها ، وكما اللغات الأخرى ، هذه المتغيرات تخضع لشروط أساسية يجب توافرها ليعمل البرنامج بالصورة الصحيحة :
1- الخانة الأولي من إسم المتغير لابد أن تكون أحد الأحرف الإنجليزية سواءً حرفا كبيرا أو صغيرا مع ملاحظة الفرق بينهما ، ويمكن البدء بعلامة _ أو علامة $ ، مع أنه لاينصح بإستخدام العلامة الأخيرة.
2- لايمكنك إطلاقا إٍستخدام رقم كأول خانة في الإسم .
3- الأسماء لايمكن أن تحوي مسافات بين أحرفها ، لكن يمكنك إستخدام العلامة _ بدل المسافات .
4- لايمكن لأي إسم أن يماثل أيا من الكلمات المحجوزة (راجع الصفحة السابقة ) وهذه القاعدة عامة لجميع لغات البرمجة .
وإليك بعض الأمثلة على المتغيرات الصحيحة :
my_new_visitor x12 _whatsnew new_name$
كن محترفا : دائما حاول أن تكون أسماء المتغيرات ذات دلالة تبسط عليك في المستقبل عملية التعديل في البرنامج ، وتأكد أنك غالبا ماتستخدم الأحرف الصغيرة حتى لاتخطأ وتضيع في البحث عن الخطأ في المراحل المتقدمة .
نضيف ، أن المتغيرات هي أسماء لحجز أمكنة في ذاكرة الجهاز لحفظ البيانات التي تسند إليها . وقبل أن تستخدم أيا من هذه المتغيرات لابد من الإفصاح عنها ، وذلك بإستخدام الأمر var
var x;
وهكذا ، كماأنه من الممكن الإعلان عن أكثير من متغير في سطر واحد ، وهذا مالايمكنك عمله بواسطة الفيجوال بيسك سكريبتس ..
var x,y,z ;
وأخيراً ، لمزيد من التبيسط ، يمكننا إسناد القيم الى هذه المتغيرات أثناء تعريفها والإفصاح عنها، كما يلي :
var x=33 , y=3 , z=5 ;
تذكر أنه إذا لم تفصح عن أي متغير قبل إستخدامه فإن ذلك سيوقف عمل البرنامج ، ولاتنسى أن الجافا لغة حساسة تجاه الأحرف كما ذكرنا سابقا ف x غير X دائما حتى في أوامر الجافا ومصطلحاتها المحجوزة .
* أنواع المتغيرات في الجافا سكريبتس
ألم أقل لكم أن الجافا سكريتس سهلة التعلم ، إليك إثبات آخر على كلامي . فالجافا سكريبتس ليست كما الجافا واللغات الأخرى تفرق في التعامل مع المتغيرات كأحرف أو أرقام ، مما يعني أن المتغير بعد الإفصاح عنه يستطيع إحتواء الأرقام أو الحروف ، وهكذا يمكنك تغير نوع محتوى المتغير أثناء تنفيذ البرنامج ، إليك هذا المثال :
var x= 4;
x="four";
كما ترى في الأعلى ، في البداية قمنا بإسناد الرقم 4 الى المتغير x أثناء الإعلان عنه ، ثم قمنا بتغير محتوى x الى الكلمة أربعة ، بكل بساطة
الوظائف , تعريفها وإستخداماتها
تدعم جميع لغات البرمجة إستدعاء الوظائف Function call ، والوظائف هي مجموعة من الجمل يطلق عليها إسم ويشار إليها به ونتفذ كوحدة واحدة ، والبيانات اللازمة لتنفيذ وظيفة ما قد يتم تمريرها إليها كمعاملات على سطر الأمر . وقد تنتج الوظائف قيمة ما ، إذا تنشيط الوظيفة يعتبر عادة جزءاً من تعبير ما . فمثلا الجمله التاليه تستدعي وتنشط الوظيفه addone مع تمرير القيمة 6 إليها :
value=addone(6)
إذا في المثال السابق يفترض أن تعيد الوظيفة قيمة تسند الى المتغير value ولكن ، قد لاتعيد الوظيفة قيمة ، بل تقوم بطباعة شيء على الشاشة أو أي تنفيذ آخر ، حينها يتم إستدعاء الوظيفة بالطريقة التاليه :
showit("hi there")
في المثال السابق تم تمرير القيمة Hi There الى الوظيفة showit ، ولم ينتج عن الوظيفة أية قيمة ، إذا ، كان الإستدعاء بدون إسناد القيمة الى متغير آخر .
تعريف الوظائف وتحديدها
لابد من تعريف الوظائف قبل إستخدامها ، وتوضع تعريفات الوظائف عادة في مقدمة وثائق لغة الترميز النصية ، بالرغم من أن هذا المكان ليس إلزاميا ، ولكن ذلك يضمن التعريف قبل الإستخدام . والصيغة العامة لتعريف الوظائف هي كمايلي :
function FuncitonName(v1,v2,v3....){
الأوامر هنا
}
إسم الوظيفه FunctionName هو الإسم الذي يستخدم للإشارة الى الوظيفة أثناء إستدعائها ، والمعاملات v1,v2.... هي أسماء المتغيرات التي تمرر الى الوظيفة عند إستدعائها ، وهذه المتغيرات تسمى Arguments وأخيرا ، يتم تنفيذ الجمل المحصورة داخل الأقواس {} نتيجة لإستدعاء أي وظيفة .
إذا ، دعنا نعرف الآن الوظيفة addone التي تطرقنا إليها في الأعلى .
function addone(value){
newvalue = value + 1
return newvalue
}
إذا ، تم إستدعاء الوظيفة addone في المثال بالاعلى بتمرير القيمة 6 إليها ، وأعادت الوظيفة القيمة 7 الى المتغير value بواسطة الأمر return
والآن دعنا نعرف الوظيفة الأخرى ، التي لاتعيد أية قيم وإنما تقوم بعمل ما ، في المثال بالأعلى إفترضنا showit
function showit(what){
alert (what)
}
ينبغى ملاحظة العديد من الأشياء هنا ، من بينها أن القيم التي تعرف بداخل الداله لاتحمل قيمتها في خارج الداله . والعكس غير صحيح . بالإضافة الى أن القيم ستسند الى المتغير الجديد في سطر تعريف الداله ، في الحالة السابقة تم إسناد القيمة Hi There الى المتغير what في داخل الدالة فقط ، ولن يتم التعامل مع المتغير بنفس القيمة في الخارج إلا إذا تم إسناد القيمة إليه من الخارج ، وأيضا في حالة تعريف المتغير في وسط الوظيفة كمتغير محلى ، ولو كان المتغير معرف خارج الوظيفة فسيتم التعامل معه من داخل الوظيفة وخارجها . وستتغير قيمته من داخل الوظيفة وخارجها .
بالإضافة لما سبق ، قد يكون للمتغيرات المحلية نفس أسماء المتغيرات العامة . بالإعلان عنها داخل وخارج الوظيفة ( يتم الإعلان عن المتغيرات كما ذكرنا سابقا في درس آخر بإستخدام الأمر var ) ، إذا يمكن الإعلان عنها بالداخل والخارج ، وستكون كل الإشارات الى المتغيره وتغيير قيمها بداخل الوظيفه لايغير قيمتها خارج الوظيفة .
وأخيرا ، يمكن تضمين الوظائف العديد من الأوامر ، ويتم إستدعائها متى إحتجت إليها
بسم الله الرحمن الرحيم
الكتابة بالجافا سكريبتس تخضع لبعض الشروط التي لامفر من تعلمها ، وإتباعها ، وإلا فإن البرامج وبكل بساطة ، لن تعمل .
أولاُ : Case sensitivity
الجافا سكريبتس هي case sensitive language ، أي أن الكلمة المكتوبه بالحروف اللاتينيه الصغيره تختلف عن نفس الكلمة مكتوبة بالأحرف الكبيره
مثلا :
Naser غير naser غير naSer ، وهكذا ..
ثانيا : الفاصلة المنقوطه Semicolons
يفترض الى درجة الإلزام أن ينتهي كل سطر بفاصلة منقوطة :
var x=3;
ثالثاً : المساحات الخالية :
الجافا سكريبتس كما ال HTML تتجاهل المساحات الخالية ، والسطور الجديدة ، مثلا :
var x=4 هي نفسها var x = 4
مع ملاحظة أنه لابد من ترك مسافة خالية على الأقل بعد أي مصطلح من مصطلحات الجافا !
رابعا : الأقواس
ستقابلك أثناء الكتابة بالجافا أقواس عدة ، على إختلاف أنواعها ، يجب عليك بعد فتح أي قوس من هذا الأقواس غلقة ، تتابعيا ، القوس الأخير فالذي يليه
لكي لايخلق لك ذلك أية مشاكل أثناء تنفيذ البرنامج ، ولاننسى أي مشكلة معناها توقف البرنامج عن العمل .
إطلع على المثال التالي لفهم ذلك :
If (t[3] != 11) {
t[4]=2;
}
خامسا : الكلمات المحجوزة
أو مصطلحات الجافا المحجوزة ، وهي أوامر الجافا التي لايمكنك نسب أي متغيرات إليها على الإطلاق ، كما في كل لغات البرمجة المعروفة .
طبعا لايجب عليك حفظها كاملة ، وإنما الإلمام بها . وستجد جدولا مبينا لها في الصفحة التالية .. فهيا بنا الى هناك
* المتغيرات في الجافا سكريبتس :
سنتطرق الآن الى المتغيرات في الجافا سكريبتس، كمبرمج سجد أنه من الأمور الأساسية أن تسند المتغيرات الى بعضها بعد تعريفها ، وكما اللغات الأخرى ، هذه المتغيرات تخضع لشروط أساسية يجب توافرها ليعمل البرنامج بالصورة الصحيحة :
1- الخانة الأولي من إسم المتغير لابد أن تكون أحد الأحرف الإنجليزية سواءً حرفا كبيرا أو صغيرا مع ملاحظة الفرق بينهما ، ويمكن البدء بعلامة _ أو علامة $ ، مع أنه لاينصح بإستخدام العلامة الأخيرة.
2- لايمكنك إطلاقا إٍستخدام رقم كأول خانة في الإسم .
3- الأسماء لايمكن أن تحوي مسافات بين أحرفها ، لكن يمكنك إستخدام العلامة _ بدل المسافات .
4- لايمكن لأي إسم أن يماثل أيا من الكلمات المحجوزة (راجع الصفحة السابقة ) وهذه القاعدة عامة لجميع لغات البرمجة .
وإليك بعض الأمثلة على المتغيرات الصحيحة :
my_new_visitor x12 _whatsnew new_name$
كن محترفا : دائما حاول أن تكون أسماء المتغيرات ذات دلالة تبسط عليك في المستقبل عملية التعديل في البرنامج ، وتأكد أنك غالبا ماتستخدم الأحرف الصغيرة حتى لاتخطأ وتضيع في البحث عن الخطأ في المراحل المتقدمة .
نضيف ، أن المتغيرات هي أسماء لحجز أمكنة في ذاكرة الجهاز لحفظ البيانات التي تسند إليها . وقبل أن تستخدم أيا من هذه المتغيرات لابد من الإفصاح عنها ، وذلك بإستخدام الأمر var
var x;
وهكذا ، كماأنه من الممكن الإعلان عن أكثير من متغير في سطر واحد ، وهذا مالايمكنك عمله بواسطة الفيجوال بيسك سكريبتس ..
var x,y,z ;
وأخيراً ، لمزيد من التبيسط ، يمكننا إسناد القيم الى هذه المتغيرات أثناء تعريفها والإفصاح عنها، كما يلي :
var x=33 , y=3 , z=5 ;
تذكر أنه إذا لم تفصح عن أي متغير قبل إستخدامه فإن ذلك سيوقف عمل البرنامج ، ولاتنسى أن الجافا لغة حساسة تجاه الأحرف كما ذكرنا سابقا ف x غير X دائما حتى في أوامر الجافا ومصطلحاتها المحجوزة .
* أنواع المتغيرات في الجافا سكريبتس
ألم أقل لكم أن الجافا سكريتس سهلة التعلم ، إليك إثبات آخر على كلامي . فالجافا سكريبتس ليست كما الجافا واللغات الأخرى تفرق في التعامل مع المتغيرات كأحرف أو أرقام ، مما يعني أن المتغير بعد الإفصاح عنه يستطيع إحتواء الأرقام أو الحروف ، وهكذا يمكنك تغير نوع محتوى المتغير أثناء تنفيذ البرنامج ، إليك هذا المثال :
var x= 4;
x="four";
كما ترى في الأعلى ، في البداية قمنا بإسناد الرقم 4 الى المتغير x أثناء الإعلان عنه ، ثم قمنا بتغير محتوى x الى الكلمة أربعة ، بكل بساطة
الوظائف , تعريفها وإستخداماتها
تدعم جميع لغات البرمجة إستدعاء الوظائف Function call ، والوظائف هي مجموعة من الجمل يطلق عليها إسم ويشار إليها به ونتفذ كوحدة واحدة ، والبيانات اللازمة لتنفيذ وظيفة ما قد يتم تمريرها إليها كمعاملات على سطر الأمر . وقد تنتج الوظائف قيمة ما ، إذا تنشيط الوظيفة يعتبر عادة جزءاً من تعبير ما . فمثلا الجمله التاليه تستدعي وتنشط الوظيفه addone مع تمرير القيمة 6 إليها :
value=addone(6)
إذا في المثال السابق يفترض أن تعيد الوظيفة قيمة تسند الى المتغير value ولكن ، قد لاتعيد الوظيفة قيمة ، بل تقوم بطباعة شيء على الشاشة أو أي تنفيذ آخر ، حينها يتم إستدعاء الوظيفة بالطريقة التاليه :
showit("hi there")
في المثال السابق تم تمرير القيمة Hi There الى الوظيفة showit ، ولم ينتج عن الوظيفة أية قيمة ، إذا ، كان الإستدعاء بدون إسناد القيمة الى متغير آخر .
تعريف الوظائف وتحديدها
لابد من تعريف الوظائف قبل إستخدامها ، وتوضع تعريفات الوظائف عادة في مقدمة وثائق لغة الترميز النصية ، بالرغم من أن هذا المكان ليس إلزاميا ، ولكن ذلك يضمن التعريف قبل الإستخدام . والصيغة العامة لتعريف الوظائف هي كمايلي :
function FuncitonName(v1,v2,v3....){
الأوامر هنا
}
إسم الوظيفه FunctionName هو الإسم الذي يستخدم للإشارة الى الوظيفة أثناء إستدعائها ، والمعاملات v1,v2.... هي أسماء المتغيرات التي تمرر الى الوظيفة عند إستدعائها ، وهذه المتغيرات تسمى Arguments وأخيرا ، يتم تنفيذ الجمل المحصورة داخل الأقواس {} نتيجة لإستدعاء أي وظيفة .
إذا ، دعنا نعرف الآن الوظيفة addone التي تطرقنا إليها في الأعلى .
function addone(value){
newvalue = value + 1
return newvalue
}
إذا ، تم إستدعاء الوظيفة addone في المثال بالاعلى بتمرير القيمة 6 إليها ، وأعادت الوظيفة القيمة 7 الى المتغير value بواسطة الأمر return
والآن دعنا نعرف الوظيفة الأخرى ، التي لاتعيد أية قيم وإنما تقوم بعمل ما ، في المثال بالأعلى إفترضنا showit
function showit(what){
alert (what)
}
ينبغى ملاحظة العديد من الأشياء هنا ، من بينها أن القيم التي تعرف بداخل الداله لاتحمل قيمتها في خارج الداله . والعكس غير صحيح . بالإضافة الى أن القيم ستسند الى المتغير الجديد في سطر تعريف الداله ، في الحالة السابقة تم إسناد القيمة Hi There الى المتغير what في داخل الدالة فقط ، ولن يتم التعامل مع المتغير بنفس القيمة في الخارج إلا إذا تم إسناد القيمة إليه من الخارج ، وأيضا في حالة تعريف المتغير في وسط الوظيفة كمتغير محلى ، ولو كان المتغير معرف خارج الوظيفة فسيتم التعامل معه من داخل الوظيفة وخارجها . وستتغير قيمته من داخل الوظيفة وخارجها .
بالإضافة لما سبق ، قد يكون للمتغيرات المحلية نفس أسماء المتغيرات العامة . بالإعلان عنها داخل وخارج الوظيفة ( يتم الإعلان عن المتغيرات كما ذكرنا سابقا في درس آخر بإستخدام الأمر var ) ، إذا يمكن الإعلان عنها بالداخل والخارج ، وستكون كل الإشارات الى المتغيره وتغيير قيمها بداخل الوظيفه لايغير قيمتها خارج الوظيفة .
وأخيرا ، يمكن تضمين الوظائف العديد من الأوامر ، ويتم إستدعائها متى إحتجت إليها