المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كل ما يختص عن الجافا سكريبتس


alsultan
10 Jul 2002, 06:28 PM
حسنا ، ماهي الجافا سكريبتس وكيف تعمل ؟



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

الجافا سكريبتس صممت من قبل Netscape لإضافة بعض الحيوية الى صفحات الويب، طبعا لايفوتني أن أذكر أن ال Java في الاصل صممت من قبل شركة Sun وهي المالك الأساسي للغة، المهم، من الأمثلة عليها مانراه كثيرا في بعض الصفحات، من اظهار التوقيت، وتحريك الصفحات الى أعلى والى أسفل، وكذا التحكم بال Forms .


الجافا سكريبتس تخلتف عن أغلب لغات البرمجة الأخرى في كونها سهلة التحكم والتبويب، حتى للأشخاص الذين لم يكتبوا بأي لغة برمجة أخرى في حياتهم كلها .

بكل بساطة،الجافا سكريبتس هي الهواء لصفحتك .


حسنا، أعلم أنه وبعد تلك السطور في الأعلى، توارد الى ذهنك العديد من الأسئله ،، فلنحاول معا الإجابه على بعضها :

1- لماذا أتعلم الجافا سكريبتس ؟


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

وشيء مهم أيضا .. الجافا سكريبتس تعتبر من أبسط اللغات ! الكل يستطيع تعلمها .. نعم الكل .. .ألا توافقني الرأي ، أن كتابة الكود الخاص بك مباشرة أفضل ألف مرة من البحث عنه في الشبكه .

وربما لاتجد مبتغاك بسهولة ! أو قد لاتجدة إطلاقا .


2 - مالمقصود بشفرة البرنامج أو السورس كود ؟


الكود أو السورس كود : هو مجوعة الأوامر التي تكتب مجتمعة أو متفرقة ليعمل البرنامج بصورتة الرئيسيه ، أي البنية التحتية للبرنامج ، وتكون دائما مكتوبه كتابة ويمكن عرضها بأي برنامج تحرير نصوص عادي مثل ال NOTEBAD .

3- ماهو الفرق بين الجافا .. والجافا سكريبتس ؟


الفرق بينهما كبير . نعم فالجافا أقوي بكثير من الجافا سكريبتس ، وأكثر تعقيدا ، وولأسف ، أصعب في التحكم . وهي تأتي في نفس مستوى لغتي السي ، والسي بلس بلس .

بالإضافه الى أنك تحتاج الى برامج خاصة للكتابة بلغة الجافا ، بينما الجافا سكريبتس أبسط بكثير ! يمكنك بمجرد فتح أي برنام تحرير نصوص مثل ال NOTEBAD كتابة السكريبت كاملا !!! صدق أولا تصدق . لن تحتاج الى شي آخر سوى المتصفح لترى النتيجه .

4- هل بإمكان الكود الذي كتبته بالجافا سكريبت العمل على متصفحي النتسكيب والإكسبلورر بدون أية مشاكل ؟


للأسف ، الإجابة بلا !

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

سنتطرق لاحقا الى كيفية تجاوز هذه العقبة ، أما الآن فدعني أخبرك بأن أفضل طريقة للتأكد من عمل السكريبت هو تجربته على كلا المتصفحين . طبعا ستدهشك كثرة المواقع التي فشلت في الوصول بصفحاتها الى أفضل شكل ودعم لكلا المتصفحين ، وهذا مايفسر السطر الذي نراه كثيرا :

لأفضل عرض ، ينصح بإستخدام المتصفح الفلاني .


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

alsultan
10 Jul 2002, 06:29 PM
حسناً حسناً ، والآن أين يمكنني وضع الجافا سكريبتس كود في صفحتي ؟ في الأصل ، في أي مكان تريده طالما كان هذا المكان بين وسمي ال :


<HTML>
<HEAD>

أي مكان هنا
</HEAD>
<BODY>

أي مكان هنا
</BODY>
</HTML>




طبعا يجب إعلام المتصفح أن هذا الجزء من الصفحة هو جافا سكريبتس ، ونتم ذلك بوضع :


<Script language="JavaScript">


الكود هنا

</Script>




كما ترون في الأعلى ، إبتدأنا بتبيه المتصفح الى أن مابعد :


<Script Language="JavaScript">




هو سكريبت مكتوب بلغة الجافا، ولايفوتني أن أذكر أيضا أن هناك فيجوال بيسك سكريبتس لكنها غير مدعومة سوى من قبل الإنترنت إكسبلورر ، كما أنها تستخدم في إنشاء صفحات السيرفر الفعالة ASP


ثم نأتي بعد ذلك الى :


<!--




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


alert("Welcome To C4arab.com")




وهذا هو مربط الحديث هنا ، وهو الكود . هذا الكود لإظهار رسالة للزائر كلما دخل الى الصفحة . ثم في النهاية نأتي إلي :


</script>




لإعلام المتصفح أن الكود قد إنتهى ..


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


//




في حالة أردت كتابة سطر واحد فقط ، أو :


/*


التعليق هنا .. سطر أو عدة سطور

*/




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

alsultan
10 Jul 2002, 06:30 PM
وكما أي لغة أخرى ، الكتابة بالجافا سكريبتس تخضع لبعض الشروط التي لامفر من تعلمها ، وإتباعها ، وإلا فإن البرامج وبكل بساطة ، لن تعمل .

أولاُ : 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;


}



خامسا : الكلمات المحجوزة


أو مصطلحات الجافا المحجوزة ، وهي أوامر الجافا التي لايمكنك نسب أي متغيرات إليها على الإطلاق ، كما في كل لغات البرمجة المعروفة .


طبعا لايجب عليك حفظها كاملة ، وإنما الإلمام بها . وستجد جدولا مبينا لها في الصفحة التالية .. فهيا بنا الى هناك .

alsultan
10 Jul 2002, 06:31 PM
* المتغيرات في الجافا سكريبتس :


سنتطرق الآن الى المتغيرات في الجافا سكريبتس، كمبرمج سجد أنه من الأمور الأساسية أن تسند المتغيرات الى بعضها بعد تعريفها ، وكما اللغات الأخرى ، هذه المتغيرات تخضع لشروط أساسية يجب توافرها ليعمل البرنامج بالصورة الصحيحة :


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 الى الكلمة أربعة ، بكل بساطة .

alsultan
10 Jul 2002, 06:32 PM
تدعم جميع لغات البرمجة إستدعاء الوظائف 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 ) ، إذا يمكن الإعلان عنها بالداخل والخارج ، وستكون كل الإشارات الى المتغيره وتغيير قيمها بداخل الوظيفه لايغير قيمتها خارج الوظيفة .


وأخيرا ، يمكن تضمين الوظائف العديد من الأوامر ، ويتم إستدعائها متى إحتجت إليها .


علما بأن مصدر هذه المعلومات الموسوعة العربية للكمبيوتر والانترنت

العجيب
03 Nov 2002, 02:45 AM
الله يعطيك العافية
مو بس العافية الله يوفقك كمان
والله انا صراحة
تعاملت مع الفيجوال بيسك
vbscrebt
ولكن كان حلمي اني اعرف مبا دى الجافا سكربت وصراحة انت فتحت طريق الدخول
اليها من اوسع الابواب
ويمكن اللي سا عدني اكثر شرح الحلو
وان كان عندك اي شي تاني
ياريت تفيدني بيه
صراحة ما ادري انا لقيت انو vbscrebt
اسهل من الجافا
بس الحلو بالجافا الحيوية اللي فها
لانو vbscrebt
اكثر الاحيان يقلك لا يدعم هذه الخاصية
ويمكن حاجة انا استنتجتها انو تتعامل بلغة رح تلاقي الباقي او فهما بسيط
وما هو ذا ك التعقيد لكن من جد وجد ومن سار على الدرب وصل
بس مشكلة تمرني بالجافا سكريبت هي كثرة
الاقواس اللي الفيجوال بيسك ما يطلبها ابدا

لو تقدر تشرح لي شوي عن بعض خصائص الجافا وتنورنا لقدام اكثر
وعلى فكرة في برنامج مرةحلو ويساعد كثير للمبتدئين وهو موجود بالجهاز
يعني ينزل مع مجموعة اوفيس
وبامكانك الاطلاع عليهوصراحة انا جربته حلو موبطال
بامكانك ان تفتحة من الفرونت بيج
اختر
ادوات ومن ادوات اختر
ما كروو
وبعدها رح تلاقيه تحت فيجوال بيسك
اسمه
ما يكروسوفت سكريبت ايداتور

سيد الهكر
02 Dec 2002, 06:09 AM
اخوي لما اتسجل وتعمل منتدى عن طريق لوحة تحكم العضو يعني لوحة تحكمك تقدر تعمل كل شيئ هم موضحينلك كل اشي
اي سؤال في لغة vb انا جاهز
وشكرا / اخوك سيد الهكر

سيد الهكر
02 Dec 2002, 06:11 AM
الرسالة الأصلية كتبت بواسطة سيد الهكر
اخوي لما اتسجل وتعمل منتدى عن طريق لوحة تحكم العضو يعني لوحة تحكمك تقدر تعمل كل شيئ هم موضحينلك كل اشي
اي سؤال في لغة vb انا جاهز
وشكرا / اخوك سيد الهكر
اسف اخوي انا كنت بد يارد على موضوع ثاني واقولك شكرا على موضوعك الحوووووووو والمفيد