بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
سنتحدث اليوم عن الجافا سكربيت
الجافا سكريبت هى لغة برمجة مخخفة من الجافا تمكن مصصمى صفحات الويب من استخدام اداة برمجية قوية لان الاتش تى ام ال ليسة لغة برمجة والذين يعملون بها ليسو مبرمجين وانما هى لغة لتحديد اماكن وضع الصور والنصوص فى الصفحة وبعض التنسيقات الاخرى ولكنها ليس لها اى قدرات برمجية مثل الحلقات الدوارة والجمل الشرطية وغيرها .
تعوض الجافا سكربيت هذه اللغة عن هذا القصور وتعطيك امكانيات برمجية عالية مثل حلقات اللوب والشروط.
الجافا سكربيت لغة سهلة وبسيطة ال ابعد الحدود ومن استخدم اى لغة برمجة قبل ذلك سيجد الموضوع فى غاية السهولة وحتى من لم يستخدم اى لغة قبل ذلك سيجد الموضوع غاية فى السهولة والبساطة.
تكتب اكود هذه اللغة داخل صفحة الاتش تى ام ال ويمكن ان تنفذ مباشرة او عند حدوث حدث معين(فى هذه الحالة تكتب الدوال فى اول الصفحفة داخل جزء الراس) ولنا خذ هذا المثال البسيط
<html>
<head>
</head>
<body>
<script type="text/javascript">
document.write("Hello Arab!")
</script>
</body>
</html>وسيقوم هذا الكود البسيط بطباعة الجملة التالية
Hello Arab!
documentلاحظ استخدام هذا الكائن الذى يستخدم لطباعة نص على الصفحة
.JS كما يمكن ان يكتب الكود فى ملف خارجى ويخزن بامتداد
ويتم استدعائه كالتالى
<script src="xxx.js"></script>
وبعد ان اخذنا فكرة عن هذه اللغة الجمليةة ومكان كتابتها ومثال بسيط لندخل فى قلب اللغة.
ملحوظة صغيرة
بالنسبة لمبرمجى جافا وسى وسى شارب وهى اللغات ذوات الفصلة المنقوطة فى نهاية السطر فان الفصلة المنقوطة هنا اختيارية تضعها او لا مش فارقة خالص - مش باقول لكم لغة سهلة وبسيطة - .
تعريف متغيرات فى جافا سكريبت
المتغيرات هى اوعية لحفظ البيانات ويتم تعريفها كالتالى
var myname="Ayman"
var باشتخدام هذه الكلمة تشطتيع ان تعرف متغير يحمل بيانات من اى نوع نصى او رقمى مش فارقة كتير-مش اقولت لك مفيش اسهل من كده
يبقى ان نعرف ان المتغيرات اما ان تعرف داخل دالة وبذلك تكون هذه الدالة هى نطاق هذ المتغير اى انه محلى يعرف داخل هذه الدالة فقط ويمكن انشاء اكثر من متغير محلى بنفس الاسم فى دوال مختلفة.
واما ان تعرف خارج دالة اى فى الصفحة نفسها وبذلك يكون متاحا لكل الصفحة والدوال الموجودة فيها ولا يمكن ان يتكرر اسمه
مع العلم بان اسماء المتغيرات حساسة للحالة بمعنى ان الحروف الكبيرة غير السغيرة وايضا يبدا الاسم بحرف او شرطة سفلية.
المعاملات الرياضية
تستخدم لاداء العمليات الرياضية
مثل الجمع +
والطرح -
والضرب *
والقسمة /
وباقى القسمة %
معامل الزيادة ++
ومعامل النقصان --
var reslut reslut=4+3 //reslut=7 reslut=4-3 //reslut=1 reslut=4*3 //reslut=12 reslut=4/3 //reslut=1,33 reslut=4%3 //reslut=1 //if reslut=1 reslut++ //reslut=2 //if reslut=1 reslut-- //reslut=0
معاملات التخصيص
=, += ,-= ,*= , /= ,%=
var num1=2 var num num=num1 //num=2 num1+= 2 //num1=4 (num1=num1+2) num1=2 num1-=2 //num1=0 (num1=num1-2) num1=2 num1*=2 //num1=4 (num1=num1*2) num1=2 num1/=2 //num1=1 (num1=num1/2)
معاملات المقارنة
تستخدم للمقارنات وتستخدم بصفة اساسية مع جمل الشرط كما سياتى بعد قليل
== يساوى
!= لايساوى
< اكبر من
> اصغر من
<= اكبر من او يساوى
>= اصغر من او يساوى
المعاملات المنطقية
تستخدم فى المقارنة ايضا (وهى ممتازة مع المقارنات الطويلة والمعقدة)وغالبا تستخدم مع الجمل الشرطية
&& and , || or ,! not
x=6 y=3 (x < 10 && y > 1) //returns true (x==5 || y==5) //returns false !(x==5) //returns true
AND
لا ترجع صح الا اذا كان الطرفين صح
T and T=T
F and T=F
T and F=F
F and F=F
OR
ترجع صح اذا كان احد الشرطين او كلاهما صحيح
T or T=T
F or T=T
T or F=T
F or F=F
NOT
تعكس التعبير الذى بعدها
not T=F
not F=T
المعامل الحرفى
يستخدم فى تجميع النصوص
var txt1="Good " var txt2="Night" var txt txt=txt1 +txt2 //txt="Good Night" txt =txt1+ txt2+" Ayman" //txt = "Good night Ayman"
الجمل الشرطية
if else statment
شكلها كالتالى
if(condition)
{
//Statment exectue if the condition is true
}
else
{
//statment exectue if the condition is false
//يمكن ان توجد او لا
}هذا مثال بسيط يقوم بعرض التحية حسب الوقت
<script type="text/javascript">
var d = new Date()
var time = d.getHours()
if (time < 10)
{
document.write("Good morning!")
}
else
{
document.write("Good day!")
}
</script>من الواضح ان هذه الجملة تستخدم فى حالة وجود احتمالين على الاكثر فما الحال اذا كان هناك الكثر من احتمال الحل فى الفقرة التالية
Switch Statement
تستخدم هذه الجملة عنذ وجود اكثر من احتمال وشكلها كالتالى
switch(expression)
{
case 1:
//statments
break
case 2:
//statments
break
case 3:
//statments
break
..
..
..
..
..
deflut:
//statments
}
case كل حاله من هذه الحالات تمثل احتمال من المكن تحقيقه
deflutواذا لم يتحقق اى احتمال ينفذ قسم (وهو اختيارى)
ستتضح اكثر مع مثال عملى
[code]
<script type="text/javascript">
var d=new Date()
theDay=d.getDay()
switch (theDay)
{
case 1:
document.write("Monday")
break
case 5:
document.write("Friday")
break
case 6:
document.write("Saturday")
break
case 0:
document.write("Sunday")
break
default:
document.write("the rest of the week")
}
</script>looping الحلقات الدوارة
For statment
تستخدم لتكرار كود معين عدد معين من المرات جرب هذا الكود
var i
for(i=0;i<5;i++)
{
document.wite("this is for loop")
document.wite("n")
}
[code]
مفيش اسهل من كده الشكل مالؤف جد1 حيث سيتم تكرار كتابه هذه الجملة 5 مرات طبعا يمكنك التعديل فى عدد مرات التكرار او جعلها تقرا من متغيرات , وهذا شرح لاجزاء الحلقة
i=0
شحن متغير البداية بقيمة صفر ويمكنك شحنه باى قيمة تريدها او متغير
i < 5
هذا هو شرط الحلقة طالما ان قيمته بصح تعمل الحلقة و حينما لا يتخقق الشرط تقف الحلقة اى ان عدد مرات التكرار يساوى
الفرق بين قيمة المتغير فى الجزء الاول من الحلقة وبين القيمة فى الشرط
معناها ان الحلقة ستظل تعمل طالما ان فيمة المتغير اقل من 5 حسب هذا الشرط مع العلم ان قيمة المتغير تزيد بمقدار واحدبعد كل دورة وذلك يتم تحديده فى الجزء الثالث من الحلقة
i++
ونحدد هنا مقدار الزيادة بواحد ويمكن ان نجعله 2 او 3 حسب الحاجة فمثلا
for(m=0;m<7;m+=2)
فان هذه الحلقة ستدور 3 مرات فقط
اتمنى ان يكون الامر وضح - هذا فقط لمن يتعامل مع لغة برمجة لاول مرة-
do while statment
تختلف هذه الحلقة عن اى نوع من الحلقات انها ستدور مرة على الاقل حتى وان لم يتحقق الشرط على عكس الحلقة السابقة التى ان لم يتحقق الشرط فلن تنفذ ابدا لانها تختبر الشرط اولا اما هذه الحلقة فانها تنفذ اولا ثم تختبر الشرط.
شكلها العام كالتالى
[code]
do
{
//statment to execute....
}while (condition)while statment
هذه الحلقة تظل تدور طالما ان الشرط يتحقق وشكهلها العام كالتالى
while (condition)
{
//statment to execute.....
}الدوالــــــــــــــــــــ
الدوال هى قطع من الكود لا تنفذ الا عند استدعائها ويمكن استخدامها اكثر من مرة وفى اكثر من مكان وللدوال فوائد كثيرة جدا
اولها انها توفر الوقت فاذا كنت تحتاج ان ينفذ كود اكثر من مرة فانك تكتبه فى دالة مرة واحدة فقط وتستدعيه وقتمل تشاء واينما تشاء حتى فى صفحة اخرى.
تكتب الكود مرة واحدة اذا اردت التعديل تعدل ايضا مرة واخدة واذا كان هناك اخطاء ستصلحها مرة واحدة.
كما قلنا سابقا يمكن ان تكتب الدوال فى ملف خارجى او داخل الصفحة داخل جزء الراس
..........بداية لكتابة دالة نستخدم كلمة
function
نتبعها باسم الدالة ثم معاملات هذه الدالة ان وجدت ثم نكتب الدالة اى ان شكلها العام كالتالى
function functionname(para1,para2,...)
{
function statment
}المعاملات هى متغيرات يتم تمريرها الى الدالة فمثلا اذا كانت الدالة تقوم بجمع رقمين فان المعاملات ستكون الارقام التى سيتم جمعها ليكون الشكل كالتالى
function add(var a,var b)
{
c=a+b;
return c;
}وعند استدعاء الدالة يكون الكود كالتالى
var sum sum=add(4,5) //sum=9
لناحذ مثالا بسيطا عبارة عن دالة تعرض التحية حسب الوقت بالشكل التالى مشابهة للتى سبق استخدامها
function greatting()
{
var d = new Date()
var time = d.getHours()
if (time < 10)
{
alert("Good morning!")
}
else
{
alert("Good day!")
}
}
ثم يتم استدعائها ويكون الكود كاملا كالاتى
ثم نضيف الجملة التالية لكل صفحة
[code]
<html>
<head>
<script type="text/javascript">
function greatting()
{
var d = new Date()
var time = d.getHours()
if (time < 10)
{
alert("Good morning!")
}
else
{
alert("Good day!")
}
}
</script>
</head>
<body onload="greatting()">
</body></html>طعبا يمكن استخدام الدوال فى مزيد من العمليات المعقدة وليس مجرد اداء التخية
return بالنسبة لهذه الجملة تستخدم اذا كان للدالة قيمة مرجعة يتم تخصيصها لمتغير مثلا
هذا كل شى عن الدوال
بقى شى قد تكون لاحظته فى هذه الجملة
var d = new Date()
new وهو استخدام كلمة
وتستخدم هذه الكلملة عن تعريف غضو من كائن فكائن التاريخ هنا مثلا ليش متغير عادى فهو كائن له مجموعة من الدوال الموجودة داخله والتى يمكنك استخدامها مثل
var time = d.getHours()
والكانئات فى جافا سكريبت ليسة كثيرة وهى
String object
Array object
Date object
Math object
Window object
Framr object
form object
browser object
والتى ربما نتاولها بالشرح فى دروس قادمة باذن الله
والسلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته