مشاهدة النسخة كاملة : اساسيات اللغة فى الجافا سكربت
ame_8000
09-24-2005, 11:09 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;
}
خامسا : الكلمات المحجوزة
أو مصطلحات الجافا المحجوزة ، وهي أوامر الجافا التي لايمكنك نسب أي متغيرات إليها على الإطلاق ، كما في كل لغات البرمجة المعروفة .
طبعا لايجب عليك حفظها كاملة ، وإنما الإلمام بها . وستجد جدولا مبينا لها في الصفحة التالية .. فهيا بنا الى هناك
ame_8000
09-24-2005, 11:11 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 الى الكلمة أربعة ، بكل بساطة
ame_8000
09-24-2005, 11:13 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 ) ، إذا يمكن الإعلان عنها بالداخل والخارج ، وستكون كل الإشارات الى المتغيره وتغيير قيمها بداخل الوظيفه لايغير قيمتها خارج الوظيفة .
وأخيرا ، يمكن تضمين الوظائف العديد من الأوامر ، ويتم إستدعائها متى إحتجت إليها
ame_8000
09-24-2005, 11:15 PM
الكائنات في جافا سكريبت(2)
سوف نكمل كلامنا في هذا الدرس عما بدأناه من شرح للكائنات في جافا سكريبت
وجدت من الانفع قبل البدأ في شرح كيفية انشاء الكائن
واستخدامه في مخطوطاتنا ان اولا نتعرف علي الكائنات
المبيتة من قبل في اللغة والتي تسهل في انتاج صفحات متجددة
وسوف اقسم الكائنا المبيتة الي عدة اقسام :
1- String Object
2- Date Object
3- Window Object
4- Browser Object
سوف يتم شرح بعض من الكائنات لكل فئة
أولا: كائنات السلاسل String Object:
1- خاصية length
ومن تلك الخاصية يتم تحديد طول السلسلة او عدد احرف السلسلة بما فيهم المسافات
مثال:
<****** language="Java******”>
var str="الموسوعة العربية للكمبيوتر “
********. write(str.length(
</******>
2-طريقة fontcolor() :
وبواسطة هذه الطريقة يتم التحكم في لون خط السلسلة
مثال:
<****** language="Java******”>
var txt=”الموسوعة العربية للكمبيوتر”;
********.write("<p>" + txt.fontcolor('red') + "</p>”);
********.write("<p>" + txt.fontcolor('blue') + "</p>”):
********.write("<p>" + txt.fontcolor('green') + "</p>”)
</******>
1- طريقة match():
يتم عن طريق هذه الطريقة تحديد او فحص سلسلة من داخل سلسلة
وان لم يجد السلسلة سوف يعيد بـ null والمثال سوف يوضح ذلك ..
<****** language="Java******”>
var str="الموسوعة العربية للكمبيوتر"
********.write(str.match("الموسوعة"))
</******>
4- طريقة toLowerCase() وtoUpperCase():
لتحويل حالة الاحرف من كبير الي صغير والعكس
<****** language="Java******”>
var str=("Hello c4arab”)
********.write(str.toLowerCase())
********.write("<br>”)
********.write(str.toUpperCase())
</******>
ــــــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــ
ثانيا: كائنات التاريخ:
الكائن date
<****** language="Java******”>
var d = new Date()
********.write(d.getDate())
********.write(".")
********.write(d.getMonth() + 1(
********.write(".")
********.write(d.getFullYea())
</******>
تم هنا تخصيص الكائن date للمتغير d وطبع علي المتصفح اليوم بالخاصية getDate() والشهر بالخاصية getMonth و السنة بالخاصية getFullYear() نلاحظ عند ايجاد الشهر اضفنا القيمة 1 لان عداد الشهر يبدأ من "0".
ــــــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــ
ثالثا : كائنات النوافذ Window Object:
1- الصناديق الحوارية
أ-Alert box
لاظهار صندوق حواري للمستخدم لاخباره بشيء
مثال:
<****** language="Java******”>
var alrt = alert("Press a button")
</******>
ب- confirm box :
لسؤال المستخدم عن قبول اورفض شيء
<****** language="Java******”>
var name = confirm("الموسوعة العربية”);
</******>
جـ - Prompt box
لادخال المستخدم بيان معين:
<****** language="Java******”>
var name = prompt("Please enter fav site","الموسوعة")
</******>
2 – الكائن window :
أ- الكائن window :
يقوم هذا الكائن بعده وظائف باختلاف خصائصة نذكر منها فتح رابط معين عند حدوث حدث والتحكم في حجم النافذه عن طريق الخاصية open او تحديد موقع معين عن طريق الخاصية location
مثال فتح موقع الموسوعة بالتحكم في حجم النافذه
<head>
<****** language="Java******”>
function openwindow()
{
window.open("www.c4arab.com","my_new_window",
"toolbar=yes,location=yes,
directories=no,status=no,
menubar=yes,scrollbars=yes,
resizable=no,
copyhistory=yes
,width=400,height=400”)
}
</******>
</head>
<body.
<form.
<input type="button" value="Open Window" onclick="openwindow()”>
</form>
</body>
ب- reload :
لاعادة تحميل الصفحة refresh:
location.reload()
د--خاصية شريط الحالة status bar:
window.status = "الموسوعة العربية"
هـ -خاصية طباعة الصفحة:
window.print()
رابعا : كا ئنات المتصفح :
تفيد في معرفة بعض البيانات عن متصفح العميل
1- لمعرفة نوع المتصفح وطباعة رسالة بذلك علي المتصفح :
********.write("You are browsing this site with: "+ navigator.appName)
2- لمعرفة اصدار المتصفح
navigator.appVersion
3- لمعرفة SCREEN RESOLUTION و وعمق ألوان الشاشة
********.write(window.screen.availWidth + "*")
********.write(window.screen.availHeight + "<br>")
********.write(window.screen.colorDepth + "<br>")
بهذا المقدار البسيط قد نكون قد انتهينا بعرض بعض الكائنات المبيتة وبعض الخصائص لها وسوف نتعرض الدرس القادم انشاء الله بكيفية عمل كائنات بانفسنا واستخدام خصائصها.
faloja
09-27-2005, 03:35 AM
مشكووووووووووور أخي على المجهود
ame_8000
09-27-2005, 09:57 PM
بجد شكرا يا جماعة انا متشكر لكم جميعا على الردود التى تشجعنى لكى أبحث فى المحيط لأحضر بعض قطرات المعرف اليكم
انا بصراحة شايف الردود كتير
ولا واحد بيبعت كلمة شكرا
شكرا