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

مشاهدة النسخة كاملة : java_script الدرس السادس



zaizo max
04-08-2013, 01:15 AM
يسم الله الرحمن الرحيم
*********
"اللهم علمنا ما ينفعنا وانفعنا بما علمتنا انك انت العليم الحكيم "
-----------------------------------------------

نستكمل موضوعنا عن Control structure
************
ذكرنا فى الموضوعات السابقة كيفية عمل if و switch وعرفنا ان كلا منهما متشابه
ان ان هناك بعض الفروق وذكرناها بفضل الله

اليوم سنتكلم عن موضوع مهم جدا الا وهو الحلقات التكرارية
looping ما هى وما فائدتها ؟!!

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

بمعنى انك اذا اردت ان تطبع عدة جمل ولتكن مثلا خمس جمل ستضر الى ان تكتب هذا الكود


<script type="text/javascript">
document.write("welcome ZaIzO Max "+"<br />");
document.write("welcome ZaIzO Max "+"<br />");
document.write("welcome ZaIzO Max "+"<br />");
document.write("welcome ZaIzO Max "+"<br />");
document.write("welcome ZaIzO Max "+"<br />");
</script>

لاحظ فى الكود السابق كثرة السطور التى تكتبها فى الكود مما يؤدى الى بطء الترجمة والتنفيذ
هو اينعم يؤدى الى تاخر غير ملحوظ بالمرة وانما لو كنت كاتب كود كهذا يحتوى على 5000 سطر ؟!!!
إذن قد علمت فائدة من فوائد الحلقات التكرارية
وهى تقليل السطور البرمجية مع سرعة التنفبذ ندخل الان الى الحلقات التكرارية
while LOOP
الصيغة العامة
=======
وهى بمعنى ** بينما (كذا) {نفذ كذا ; ثم نقوم بالزياة بعد ذلك}


<script type="text/javascript">
// any variable
whle(/*condition*/)
{
//statements;
//variable + additional value ملحوظة مهمة
}
</script>

ملحوظة :
---------
ما معنى ال variable + additional value اى القيمة التى تريد زيادتها على المتغير
الذى تتحقق منه ((ولماذا هذه الزيادة ؟!!)) لو لحظت فى العنوان انه باسم الحلقات التكرارية
اى ان طالما الشرط محقق يتم تنفيذ ما بين الاقواس المعكوفة {} وهذه الاضافة نضعها لكى يتم الخروج من
الحلقة . اكيد طبعا انت لا تحتاج ان السكربت بتاعك يتم تكراره الى ما لا نهاية
لاحظ معى


<script type="text/javascript">
var x ="zaizo_max";
var y=0;
whle(y<=x.length)
{
document.write(x+"<br />");

}
</script>

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


<script type="text/javascript">
var x ="zaizo_max";
var y=0;
whle(y<=x.length)
{
document.write(x+"<br />");
y+1; // or y++ كلاهما صحيح لانك انت من يحدد القيمة سواء بالزيادة او النقصان
}
</script>


for loop


الصيقة العامة
=========
قم بتكرار (متغير ؛ هنا يتم وضع الشرط ؛ القيمة التى تزيدها ) { نفذ ما بين الاقواس }


<script type="text/javascript">
for(var anyName; condition ; additional value)
{
//statements
}
</script>

كما سبق انا ذكرت انها نفس فكرة ال while الا ان قيمة بعد الشرط
ويمكن ان نجعلها كحلقة while تماما


<script type="text/javascript">
for(var x=1;x<=6 ; x++)
{
document.write("ZAIZO");
}

// يمكن كذلك كتابة حلقة
/*for
كحلفة
while
*/
document.write("<br />");

var max=1;
for(;max<10;)
{
document.write(max+"<br />");
max++;
}
</script>

الحلقات المتداخلة
loop inside loop

كذلك يمكن استخدام الحلقات بداخل بعضها ولكن لاحظ ان الحلقة الاولى او الخارجية تنفذ
ثم تدخل الى الحلقة الداخلية لها ليتم تنفيذها ثم تزيد بالمقدار المكتوب ثم تخرج لتزيد الحلقة الخارجية
ثم تدخل لتنفذ ........وهكذا حتى يتم الانتهاء
وخير مثال على ذلك هو جدول الضرب



<script type="text/javascript">
for (var x = 1; x<= 10 ;x++)
{
document.write(" <b>جدول</b> " + x + "</b><br />")
for (var x2 = 1; x2<= 10 ;x2++)
{
document.write(x+"×"+x2+"="+x*x2+"<br />");
}
}

</script>

وبكدة نبقى ختمنا ال control structure
والحمد لله رب العالمين

zaizo max
04-08-2013, 01:48 AM
بارك الله فيك

مروك يشرفنى :):):):) يالغالى :):)

HAK 3LOSH
04-09-2013, 01:39 AM
شكرا على الدرس الرائع