جلسه سيزدهم
حلقه (زنجيره)
سلام
در زندگي، بعضي چيزا تكرار ميشوند؛ هر روز و هر شب؛ و گاهي هر لحظه؛ مثل نفس كشيدن. كارهايي كه حلقه وار انجام ميشوند يا انتها و عمر محدودي دارند، و يا بيانتها و نامحدودند؛ مانند شب و روز. چون برنامهنويسي، اقتباسي از زندگي انسان است، و قرارست در خدمت ما باشد، از اين قاعده مستثني نيست.
تعريف حلقه
• « يكي ديگر از ويژگيهاي مفيد جاوا اسكريپت و همچنين ساير زبانهاي برنامه نويسي، توانايي ايجاد حلقههاي تكرار، يا اجراي گروهي از دستورالعملها به صورت تكراري است. اين، يكي از كاراهايي است كه رايانهها قادرند تا به خوبي آنها را انجام دهند، و آن چيزي نيست جز انجام كارهاي تكراري با دقت بالا. در برنامههاي اسكريپت، از حلقههاي تكرار به عنوان يك ابزار قوي و مهم، استفادههاي فراواني ميشود. » كتاب "خود آموز جاوا اسكريپت در 24 ساعت"
ادات حلقه
• از روشهاي مختلفي براي ايجاد حلقه، استفاده ميشود.
1. for
2. While
3. do ... while
معروفترين ابزار حلقه، for است.
ساختمان حلقه for
• ساختمان حلقه، شبيه يك زنجير است كه از تعدادي حلقه، ساخته شده است.
for (Counter; Condition Expression; step)
{Code}
1. ابتداي حلقه: a = 0. اين عدد، شروع و ابتداي حلقه را معيّن ميكند.
2. انتهاي حلقه: a < 10. اين عدد، حداكثر و انتهاي حلقه - به عبارت ديگر، تعداد تكرار دستورات - را مشخص ميكند.
3. افزايش يا كاهش: اين پارامتر،
4. جواب حلقه: حلقه، بي شباهت به شرط نيست. به عبارت ديگر: اگر متغير ما (a)، از 0 تا 10 تداوم داشت، نمايش پيام، ادامه داشته باشد.
مثال: دستورالعمل زير، پيامي را 10 مرتبه، جهت توجه بيشتر كاربر، نمايش ميدهد:
for (a = 0; a < 10; a++)
{
alert ("پيام" + a); // جواب حلقه
// document.write ("پيام" + a); // به جاي آلرت، ميتوانيد از اين دستور استفاده كنيد
}
تمرين: به نظر شما آيا ميتوان اين حلقه را به صورت شرطي هم نوشت؟ منتظر پاسخ عملي شما هستم.
اهميت حلقه
• اهميت حلقه را به مرور و در طي برنامههاي عملي پي خواهيد برد. فعلا عرض ميكنم اگر به شباهت حلقه و شرط دقت كنيد، متوجه اهميت آن نيز خواهيد شد. حداقل فايده حلقه، اختصار در كدنويسي است. مثلا به جاي اينكه ده مرتبه يك عبارت را بنويسيد، اينكار را با دستور ساده حلقه، به راحتي ميتوانيد انجام دهيد.
مثال: ساخت جدول ضرب، با حلقه.
ابتدا لازم است بدانيد كه چگونه يك جدول (Table) در اچتيامال ساخته ميشود.
ساختمان جدول
جدول، تشكيل شده از ستون افقي و ستون عمودي. تگ اصلي جدول به اين صورت است:<table> </table>. مابين اين دو، تگ ستون افقي <tr> </tr> و عمودي <td> </td> قرار ميگيرد.
<table border="1" bordercolor="#000000" width="150" height="100" bgcolor="black">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
همانطور كه ميبينيد، تگ جدول، چند پارامتر دارد كه مشخصات آن را (اندازه، حاشيه، رنگ و ...) مشخص ميكند.
كد:
<script>
function funFor()
{
document.writeln("<Table Border=1>");
for(a = 1; a <= 10; a++)
{
document.writeln("<TR>")
for(b = 1; b <= 10; b++)
{
if ((a+b) % 2)
{
document.writeln("<TD bgcolor=blue>"+ a * b + " </TD>")
}
else {
document.writeln("<TD>"+ a *b + " </TD>")
}
}
document.writeln("</TR>");
}
document.writeln("</Table>");
}
funFor();
</script>
واژه نامه: اين اصطلاحات را به خاطر داشته باشيد؛ چون در برنامه نويسي، كاربرد دارد.
Table = جدول. <table>
Row = سطر، ستون افقي. <tr>
Cell = سلول، خانههاي جدول. <td>
به اميد ديدار
خدانگهدار
يك پروژه
ساعت
سلام
تغييرات:
1- پاسخ به سوالات جديد در جلسه 12.
2- در جدول شماره 4، جلسه 9 تغييراتي داده شد.
حالا كه با توابع آشنا شدهايد، برنامه ساخت يك ساعت را با هم تمرين ميكنيم. اين پروژه را در چند فاز، انجام ميدهيم كه هر فاز، به تنهايي قابل اجراست.
مواد مورد نياز:
. دستورات جاوا را در بخش سر (Head) صفحه خود بنويسيد.
. در قسمت بدنه، يك پاراگراف، درست كرده و نام آنرا Font بگذاريد.
<p ID="Font"></p>
• فاز اول. به دست آوردن زمان كلي: متغيري به نام Time ميسازيم كه زمان را به دست ميآورد.
// 1.
var Time = new Date ();
document.write ("زمان: " + Time);// با اين دستور، زمان به دست آمده، نوشته ميشود
• فاز دوم. به دست آوردن اجزاء زمان (ساعت، دقيقه و ثانيه): سه متغير ميسازيم براي به دست آوردن سه قسمت از زمان.
// 2.
var H = Time.getHours();// ساعت
var M = Time.getMinutes();// دقيقه
var S = Time.getSeconds();// ثانيه
var Clock = H + ":" + M + ":" + S;// متغيري ميسازيم كه اين سه عنصر را يك جا ذخيره كند
document.write ("<br>ساعت: " + Clock);// با اين دستور، زمان به دست آمده، نوشته ميشود
• فاز سوم. قرار دادن دستورات در يك تابع: تابعي ساخته به نام funTime تا كنترل بيشتري بر كدهاي خود داشته باشيم. تمام كدهايي كه نوشتهايم داخل اين تابع قرار ميدهيم.
// 3.
function funTime()
{
var Time = new Date ();
var H = Time.getHours();
var M = Time.getMinutes();
var S = Time.getSeconds();
var Clock = H + ":" + M + ":" + S;
Font.innerText = "ساعت: " + Clock;// اين، همان پاراگرافي است كه قبلا در بدنه نوشتهايم
}
در تگ بدنه، اين كد را نوشته و با آن، تابعي را كه ساختيد، صدا كنيد.
onLoad="funTime()"
• فاز چهارم. ساخت تايمر: تا اينجا، پروژه ما كامل شده و ساعت را نشان ميدهد؛ اما فقط زماني را نشان ميدهد كه براي اولين بار، پنجره را باز كردهايم. به نظر شما چه بايد كرد كه لحظه به لحظه، زمان را به ما نمايش دهد؟ يك راه، اين است كه مدام، صفحه را بازخواني و رفرش كنيم. اين كار چندان راحت و معقول نيست. بهترست فقط تابع خود را بازخواني كنيم. براي اين كار از setTimeout استفاده ميكنيم كه يك تايمر است.
// 4.
function funTime()
{
var Time = new Date ();
var H = Time.getHours();
var M = Time.getMinutes();
var S = Time.getSeconds();
var Clock = H + ":" + M + ":" + S;
Font.innerText = "ساعت: " + Clock;
setTimeout ("funTime()", 1000);// با اين تايمر، تابع ما، در هر يك ثانيه، دوباره خواني ميشود
}
• براي ديدن نمونه عملي آن، اينجا كليك كنيد.
واژه نامه:
ID: آيدي، همان نام شي است.
innerText: با اين دستور، محتويات يك تگ در قسمت بدنه (مانند محتويات تگ پاراگراف) نمايش داده ميشود؛ و ميتوانيم آنرا تغيير داده و ويرايش كنيم.
setTimeout: دستور تايمر و زمان شمار است. بعد از آن، يك جفت پرانتز، قرار دارد كه داخلش، دو پارامتر نوشته ميشود:
1. اسم چيزي است كه قرار است اجرا شود؛ مانند يك تابع.
2. زماني كه تايمر در آن فعال خواهد شد. واحد زمان، ميلي ثانيه است. (1000 = يك ثانيه)
به اميد ديدار
خدانگهدار
جلسه دوازدهم
آرايه
سلام
داخل پرانتز: همگي خسته نباشيد. اجازه بدهيد قبل از اينكه درس جديد را شروع كنم، صحبتي داشته باشم. به دوستان جديدي كه به جمع ما پيوستهاند، خوش آمد ميگويم. اميدوارم چيزهاي كمي كه ميدانم به درد شما بخورد. به دوستان قديمي خسته نباشيد گفته و يك گلايه هم دارم. سوالي كه در جلسه قبل كردم، بيجواب ماند.
بيشتر از يك هفته است كه درباره موضوعي مطالعه ميكردم، به نام كوكي (Cookie). با اينكه از مباحث مهم و كاربردي جاوا اسكريپت است، متاسفانه نه در كتاب آموزشي و نه در سايتهاي معروف و مهم، اثري از آن ديدم. طبق معمول، بدون آموزش، از نمونههاي موجود استفاده كرده و سعي داشتم از آنها بياموزم كه چطور نوشته ميشود. تقريبا از جستجو، نااميد شده بودم؛ تا اينكه به يكي دو تا پايگاه برخوردم، كه منبع بزرگي از كوكي هستند. هرچند آموزشي نيستند، ولي از هيچي بهترند.
خلاصه كلام اينكه اگر خدا بخواهد، اين ضعف و نقصان موجود در كتب و پايگاههاي جاوا را اينجا و با هم جبران ميكنيم. نمونهاي از كاربرد كوكي را ميتوانيد در سمت راست همين وبلاگ، در بخش ثبت نام ببينيد.
تعريف آرايه
آرايه، مجموعهاي از چند داده (ثابت و متغير) است كه به عنوان يك واحد شناخته شده و اعضاي آن، با كد، مشخص شدهاند. به عبارت ديگر، تعدادي از اطلاعات كه در كنار هم قرار گرفتهاند و يك وجه مشترك داشته و به يك نام خوانده ميشوند.
مثال: به اين كلمات دقت كنيد: تهران، اصفهان، شيراز. وجه مشترك اينها چيست؟ شهر بودن وجه اشتراكشان است. وقتي كه ميخواهيد تلفني با يكي از اين شهرها تماس بگيريد چه ميكنيد؟ كد مخصوص آن شهر را حتما فراموش نكنيد. بله، هر يك از شهرها، در شبكه بزرگ مخابرات، داراي كدي است كه معرّف آنست. بهتر است ما هم به جاي اينكه هر كدام از آنها را جداگانه به كار ببريم، براي هركدام، كد، تعريف كرده و آن را صدا بزنيم.
نوشتن آرايه
• نامگذاري آرايه
آرايه يك نوع متغير است كه بر خلاف متغيرهاي ديگر در جاوا، بايد از قبل تعريف شود.
var Name = new Array(3);
var: نشانه متغير
Name: نامي كه شما براي آرايه، انتخاب ميكنيد. مناسب است در اينجا City را به عنوان نام، برگزينيد
new Array: كلمه كليدي كه بايد به همين صورت، بنويسيد
(3): طول آرايه، تعداد اعضاي آرايه
• معرفي اعضاء آرايه
بعد از معرفي و نامگذاري آرايه، بايد اعضايش را معرفي كنيم؛ كه دو روش براي اين كار وجود دارد.
. روش اول:
Name[0] = "تهران";
Name[1] = "اصفهان";
Name[2] = "شيراز";
Name: نام آرايه كه مشترك است
[0]: كد مخصوص به هر عضو
. روش دوم:
var Name = new Array("تهران","اصفهان","شيراز")
در اين روش، كد اعضا، به صورت فرضي، از صفر شروع ميشود.
• خواندن آرايه
بعد از نوشتن آرايه، نوبت به خواندن و صدا كردن آن است. در اين مثال ميتوانيم از دو دستور alert يا document.write استفاده كنيم.
alert (Name[0])
براي صدا كردن هر شهر، كد آنرا بنويسيد.
تمرين: انتخاب يك گزينه از فهرست.
اين برنامه را در قسمت بدنه صفحه خود، كپي كنيد:
<Script>
function funChange() // نامگذاري تابع
{
// نامگذاري آرايه و معرفي اعضاء
var a1 = new Array("تهران","اصفهان","شيراز");
alert (a1 [Menu.value] ); // كد اعضا، برابر با مقاديري كه در منوي پايين مشخص شده
}
</Script>
<!-- ساخت يك منو با سه گزينه، كه هر كدام يك كد دارند -->
<Select Name="Menu" OnChange="funChange()">
<Option Value="0">تهران
<Option Value="1">اصفهان
<Option Value="2">شيراز
</Select>
معرفي پايگاه
اين پايگاه انگليسي زبان، جاوا اسكريپت را در جلسات منظم، ساده و با مثال، آموزش داده است.
• JavaScript Cookies
• Cookie Central (مركز كوكي)
اگر مانند من، به دنبال منبعي درباره كوكيها ميگشتيد، اين دو پايگاه خارجي را به شما معرفي ميكنم.
پرسش و پاسخ
?پرسش:
سلام، ممنون از زحماتت. ميخواستم لطف كني در مورد متغيرهاي منطقي بيشتر توضيح بدي. آيا انواع گوناگون دارند و در كجا ها قابل مصرفند؟ متشكرم. هميشه موفق باشي.
• پاسخ:
سلام. قبلا گفتيم، بولين (بله-خير)، يك نوع از اطلاعات و داده است. همانطور كه در مكالمات روزمره از بله و نه استفاده ميكنيم، در زبان برنامه نويسي هم، جواب بعضي از سوالات، يك جواب منطقي، يعني بله و خير است. مثلا يك كادر، ظاهر ميشود كه از شما ميپرسد "آيا مايل به ادامه كار هستيد؟" اين كادر، دو دكمه دارد. Ok, Cancel، كه همان بله و خير است. براي نمايش چنين كادري، از اين دستور استفاده كنيد.
confirm ("آيا شما مطمئنيد؟")
?پرسش:
سلام. خسته نباشيد. ميخواستم بدونم كه شما چرا اسماي سخت براي كداتون ميزاريد. يعني آيا ميشه اسماي آسون براشون انتخاب كنيم.؟ يا حتي به فارسي اسمي رو بنويسيم؟ بعد اينكه ميخواستم بدونم كه مثلآ پيام (سلام). شايد ما بخواهيم ، در جاهاي مختلف پيامهاي گوناگون داشته باشيم. آيا ميشود،كه تابع شمارهي ۱ و ۲ و ۳ درست كرد؟ يعني قبلش تعريف كنيم و بعد با صدا كردن شماره يك پيام مخصوصش بيايد؟ و غيره ... . ممنون ميشم اگه توضيح بديد. بازم خسته نباشيد و بي نهايت سپاسگزارم.
• پاسخ:
سلام. هم در نام گذاري اسامي، آزاد هستيد و هم در استفاده از پيامهاي گوناگون. البته در نام گذاري، بعضي چيزها بايد لحاظ بشه؛ مثلا فارسي نباشه و با عدد شروع نشه؛ اما ميتوانيد مثلا بگوييد: a1, a2, a3. راهي كه گفتيد خيلي خوبه؛ يعني قبلا آنها را تعريف كنيد و بعد صدا بزنيد.
?پرسش:
با سلام. متشکریم از این که به ما سر زدید. سوالی داشتم. در مورد alert می خواستم بدانم نوع و شکل آن کادری که به دنبال اجرا کردن اين دستور باز ميشود آيا به نوع سيستم عامل بستگی دارد؟ به عبارتی آن کادر، از سیستم عامل ناشی می شود يا اينکه صرفا متکی بر سيستم جاوا است. با تشکر و خدانگهدار.
• پاسخ:
سلام دوست عزيز! اين را به عنوان يك قاعده كلي مد نظر داشته باش. هر كاري كه شما به عنوان برنامهنويس ميخواهيد انجام دهيد، مشروط به استعداد و اجازه سيستم عامل است و بايد از امكانات موجود استفاده كنيد؛ يعني شما فقط فلان امكان موجود در ويندوز را فراخواني ميكنيد. يكي از آن امكانات، پيام است كه به اشكال گوناگون وجود دارد.
?پرسش:
با سلام. متشکرم از اینکه جوابی روشن و آشکار به سئوال قبلی ام دادید. سوال دیگری داشتم که اگر جواب دهید ممنون میشوم. چطور میتوان برنامه های جاوا را به هم ربط داد؟ (روشی غیر از فایلهای js.*) زیرا که این روش در واقع استفاده از دو برنامه جدا از هم است اما می خواستم بدانم که اگر در یک صفحه چند برنامه جاوا نوشته باشیم چگونه میتوانیم اینها را به هم ربط دهیم به طور مثال: اگر دو برنامه جاوا (جداگانه) در یک صفحه نوشته شده باشد چطور میتوان از برنامه اولی در برنامه دومی استفاده کرد و آنها را به هم مرتبط کرد. متشکرم. خدا نگهدار
• پاسخ:
سلام. اگر منظورتان از ربط دادن، صدا كردن يك تابع در تابع ديگر است، كه مشكلي نيست. كافي است نام تابع مورد نظر را در تابع دوم بنويسيد. يكي از راههاي صدا كردن تابع، همين است. البته اگر خود مثال را ميديدم بهتر بود. در آينده، از اين نوع دستورات، يعني دستورات تركيبي، مثال خواهم زد.
?پرسش:
سلام. از آموزش خوبتون خیلی خیلی ممنونم. نظیرش را کمتر روی اینترنت دیدم. دو تا سوال ازتون داشتم: 1- در برنامه انتخاب یک گزینه (که نوشته بودید) چرا وقتی برای اولین بار روی گزینه تهران میریم پیغام نمیده؟ 2- دستور OnChange در اون برنامه کارش چیه؟. من متوجه نشدم. باز هم ممنون. بای بای
• پاسخ:
سلام. جواب سوال اول شما، در سوال دوم است. دستور OnChange (كه يك نوع رويدادست و من انتخاب كردهام)، به معناي "هنگام تغيير" است. يعني وقتي گزينه جديد را انتخاب كنيد و قبلي، تغيير كند. چون اولين گزينه، به صورت پيش فرض، تهران است و انتخاب شده، هيچ پيامي داده نميشود. اميدوارم متوجه شده باشيد. اگر جوابم واضح نبود، تذكر بدهيد.
به اميد ديدار
خدانگهدار
جلسه يازدهم
نام گذاري كدها (تابع)
سلام
بحث امروز ما درباره مفهومي است كه جايگاه ويژهاي در برنامه نويسي دارد؛ تابع. كمتر پيش ميآيد كه كدي را بنويسيد و از تابع، استفاده نكنيد.
تابع
• تابع يا همان فانيكشين (Function)، مجموعهاي از يك يا چند كد است كه در يك جا جمع شده و داراي نام شدهاند.
نام گذاري كد
• اگر يادتان باشد، گفته بودم براي هر چيزي ميشود نامي انتخاب كرد، و به جاي آنكه مدام، كد آنرا تكرار كنيم، نام آنرا صدا ميزنيم. حالا كه تا حدودي با برنامه نويسي آشنا شدهايد، وقتش شده كه با نامگذاري آنها نيز آشنا شويد. براي اين كار از تابع استفاده ميكنيم.
مثال: كد پيام را به ياد داريد؟
<Script>
alert ("سلام")
</Script>
اگر بخواهيم براي آن، نامي انتخاب كنيم، ابتدا كد مورد نظر را داخل يك جفت كورشه { } قرار داده، تا از كدهاي ديگر جدا شود. بعد، كلمه function را در اول آن نوشته و بعد، نامي كه انتخاب كردهايد را با يك جفت پرانتز ()، بنويسيد. به اين صورت:
<Script>
function funAlert()
{
alert ("سلام")
}
</Script>
نامي كه من انتخاب كردم funAlert است. fun مخفف function، و Alert نوع كد مرا مشخص ميكند.
آيا ميدانيد كدي كه الان درست كردهايم با كد قبلي كه بينام بود، چه فرقي دارد؟ در عمل يك فرق كوچك، و آنكه اين است كه قبلا به محض باز شدن صفحه، اجرا شده و پيام نمايش داده ميشد؛ ولي حالا، تا نام آنرا صدا نزنيم، عمل نميكند.
به نظر شما اين كار چه فايدهاي دارد؟ منتظر جواب شما هستم.
صدا كردن تابع
• حالا بايد بدانيد چگونه و كجا تابع خود را صدا كنيد. در جلسه هشتم، با رويدادها آشنا شديم. يكي از راههاي صدا زدن توابع، استفاده از رويدادهاست. اگر ميخواهيد فلان كد، به هنگام باز شدن صفحه، اجرا شود، از رويداد onLoad استفاده كنيد. اگر ميخواهيد با كليك كردن بر روي چيزي، برنامهاي اجرا شود، از onClick استفاده كنيد.
مثال: ميخواهم تابع funAlert، كه در مثال بالا درست كردهام، به هنگام باز شدن صفحه اجرا شود. براي اين كار بايد به تگ بدنه (Body = بادي) رفته و اين كد را بنويسم:
<Body onLoad="funAlert()" ...>
اگر خواستيد با كليك بر روي عكسي، پيامي نمايش داده شود، بايد كد زير را در تگ عكس قرار دهيد. به اين صورت:
<img onClick="funAlert()" ...>
نقطه چين، يعني بقيه كدهاي مربوط به عكس.
خلاصه:
براي ساخت و به كارگيري يك تابع، سه كار بايد كرد.
1- نوشتن كد: كدهايي را كه لازم داريم مينويسيم.
2- نامگذاري: كدهاي نوشته شده را در يك جا، جمع كرده و نامگذاري ميكنيم.
3- صداكردن: در جاي مناسب، تابع را صدا ميكنيم.
پاورقي:
• ميشود در يك صفحه، چند تابع جداگانه بسازيم.
• ميشود يك تابع را توسط تابع ديگر، صدا زد. اين در زماني است كه دو تابع، در امتداد يكديگر فعاليت ميكنند.
• گاهي، داخل پرانتزي كه بعد از نام تابع قرار ميگيرد، چيزي نوشته ميشود به نام آرگومان كه يك نوع متغير است.
به اميد ديدار
خدانگهدار
جلسه دهم
انواع متغير
سلام
با عرض معذرت، فاصله اين جلسه كمي طول كشيد. هم به اين علت كه هر چه جلوتر ميرويم، كار، دقيقتر و مشكلتر ميشود؛ و هم اينكه سرگرم تغيير دكوراسيون و قالب وبلاگ بودم. اميدوارم كه زيبا بوده و استفاده از مطالب، راحتتر شده باشد. بناي من بر اين است كه در هر هفته، دو جلسه، در خدمت شما باشم. به اميد خدا اين هفته هم همينطور خواهد بود.
« Date، از اشياء از پيش تعريف شده در جاوا است كه امكان كار با تاريخ و ساعت را در اختيار برنامه نويس، قرار ميدهد. هنگام نياز به ذخيره يك تاريخ و ساعت بخصوص، ميتوانيد از Date استفاده كنيد. به كمك متدهاي اين شي، ميتوانيد با تاريخ و ساعت ذخيره شده، كار كنيد. شي Date، هيچ خصوصيتي ندارد؛ از اين رو، جهت نمايش يا دستيابي به مقادير ذخيره شده در آن، لازم است تا از متدهاي آن استفاده كنيد. » كتاب "خود آموز جاوا اسكريپت در 24 ساعت"
انواع متغير
پاورقي: « خوش به حال شما كه برنامه نويسي را از خوب جايي، و با خوب كساني شروع كرديد. دور و اطرافتان كساني هستند كه از راهنمايي و كمكشان بيبهره نيستيد. قدر اين زمان و مكان را بدانيد، استفاده كنيد، و مفيد باشيد.
زماني كه من خواستم شروع كنم، تك و تنها، بدون استاد، و از زباني بسيار گسترده، پيچيده و مقرراتي - يعني ويژوال بيسيك - شروع كردم. سادگيي كه در جاوا اسكريپت، وجود دارد، در آن زبان يافت نميشود. آنقدر مقررات و دستورات، كه از برنامه نويسي وحشت ميكردم. يعني من ميتونم!؟ سوالي كه اكثر اوقات برايم پيش ميآمد. از بخشهاي سخت آن زبان، انواع متغير بود. »
• همانطور كه در جلسه قبل آموختيد، دادهها، مواد خام و اصلي برنامه نويس است كه آنها را از راههاي مختلفي به دست ميآورد. اين اطلاعات، از انواع مختلفي هستند. بعضي حروف و كلمه، و بعضي اعداد و ارقام.
1- رشتهاي (String): حروف و كلمه
2- عددي (Number): اعداد و ارقام (اعداد صحيح و اعشاري)
3- منطقي (Boolean): بله و خير
اين، انواع دادهها در جاوا است؛ اما در ويژوال بيسيك، فقط 7 نوع داده عددي، وجود دارد. در زبانهاي ديگر، بايد قبل از هر كدنويسي، متغير، تعريف شود و نوع آن هم مشخص گردد. ولي در جاوا، نه معرفي جداگانه و ابتدايي آن لازم است، و نه مشخص كردن نوعش. اين خاصيت، كار را بسيار راحت ميكند.
خصوصيات دادهها
هر كدام از اين انواع، خصوصيات دارند. مثلا در اعداد، ميتوان از علائم رياضي استفاده كرد؛ كه به آن، عمگرهاي رياضي گفته ميشود.
|
عملگرهاي رياضي | ||
| + | جمع |
1 + 1 |
| - | تفريق | 2 - 1 |
| * | ضرب | 2 * 2 |
| / | تقسيم | 4 / 2 |
| % | خارج قسمت | |
| ++ | يك عدد، اضافه ميكند | 1 ++ |
| -- | يك عدد، كم ميكند | 10 -- |
جدول شماره 5
مثال: اين مثال، مقدمهاي است براي ساختن يك ماشين حساب.
<script>
//دو عدد 3 و 9، داده ما هستند
a = 9;
b = 3;
//چهار عمل اصلي را بين آنها انجام ميدهيم
var c = a+b; //حاصل جمع
var d = a-b; //حاصل تفريق
var e = a*b; //حاصل ضرب
var f = a/b; //حاصل تقسيم
//با اين دستور، نتيجه را نمايش ميدهيم
document.write ("جمع: " + c + "<br>");
document.write ("تفريق: " + d + "<br>");
document.write ("ضرب: " + e + "<br>");
document.write ("تقسيم: " + f );
</script>
خصوصيات رشته
• براي رشتهها يا همان حروف، دستورات و خصوصياتي وجود دارد. مثلا ميخواهيم بدانيم طول يك رشته چقدر است؛ يعني چه تعداد حرف، در آن به كار رفته؛ يا فلان حرف يا كلمه، در كجاي اين رشته قرار دارد؛ يعني چندمين حرف اين رشته است.
پاورقي: « براي دست يافتن به اين اطلاعات چه بايد كرد؟ براي اينكه اهميت اين موضوع را درك كنيد، و ذهنتان نسبت به آن روشنتر شود، مثالي ميزنم.
ميدانيد كه مزيت رايانه نسبت به كتاب در چيست؟ آيا در داشتن اطلاعات است؟ يا در يافتن سريع اطلاعات؟ سرچ و جستجو است كه رايانه را بر نسل قبل از خود، يعني كتاب، برتري داده. جستجو يعني پيدا كردن يك حرف، كلمه يا جمله، در انبوهي از جملات، كلمات و حروف. براي اين كار لازم است برنامهاي بنويسيد كه بتواند موقعيت كلمه مورد نظر شما را دريابد و آنرا به شما نشان دهد. »
تمرين:
رشتهاي داريم متشكل از حروف انگليسي، كه نام آنرا string ميگذاريم. به نوبت، هر كدام از خصوصيات آنرا امتحان كنيد.
<script>
string = "abcdefghijklmnopq";
document.write (string.length); //طول رشته
</script>
|
خصوصيات رشته | ||
| string.length | طول (تعداد) حروف |
|
| string.toLowerCase () | تبديل حروف بزرگ به كوچك | |
| string.toUpperCase () | تبديل حروف كوچك به بزرگ | |
| string.bold () | ضخيم (بُلد) كردن حروف | |
| string.italics () | كج (ايتاليك) كردن حروف | |
| string.fontsize (3) | تغيير اندازه | |
| string.fontcolor ("red") | تغيير رنگ | |
| string.big () | بزرگ كردن | |
| string.substring (2,6) | انتخاب حروف از حرف 2 تا 6 حرف بعد از اول | |
| string.substr (2,6) | انتخاب حروف از حرف 2 تا 6 حرف بعد از 2 | |
| string.charAt (4) | انتخاب يك حرف (حرف چهارم) | |
| string.replace ("a","b") | تعويض دو حرف (حرف b با a) | |
| string.indexOf ("c",1) | جستجوي حرف مورد نظر، بعد از عدد معيّن | |
| string.lastIndexOf ("c",1) | جستجوي حرف مورد نظر، قبل از عدد معيّن | |
جدول شماره 6
تذكر:
• دو دستور indexOf و lastIndexOf، شماره حرف مورد نظر را مينويسند.
• شمارش آنها از صفر است؛ يعني شماره حرف اول، صفر است، نه يك.
• در صورتي كه كلمه مورد نظر را پيدا نكنند، 1- مينويسند.
معرفي پايگاه
پرديس
• امروز پايگاهي را به شما معرفي ميكنم كه حاوي اخبار و آموزش علوم مختلف رايانهاي است. يكي از آموزشهاي آن، جاوا اسكريپت ميباشد كه خوشبختانه به زبان سادهاي، توسط آقاي صابر كردستانچي، نوشته شده است. شايد با وجود چنان استادي، نيازي به اين وبلاگ نباشد. حتما از آن استفاده كنيد.
پرسش و پاسخ
• پرسش:
سلام. خسته نباشيد. من منظور شما رو از زمان كلي و زمان كامل متوجه نشدم . ميشه براي آنها مثال بزنيد؟ ممنون ميشم.
و ديگه اينكه اگه براتون امكان داره دستوراتي كه ميگيد و از روي همين وبلاگي كه هستيد براش مثال بياريد كه بهتر متوجه بشيم. بازم ممنون.
راستش فك كنم يه خورده سخت شده يا اينكه من خيلي كم هوشم. ميدونيد من ميخوام تمرين كنم ولي همش واسه دستورايي كه نوشتيد نميدونم چيو بايد بنويسم اگه مثال باشه ميفهمم كه منظورتون چيه.
از زحماتتون سپاسگزارم
• پاسخ:
سلام 1. شايد مطالبي كه گفتم واضح نبود. بنابرين، تغييراتي در متن درس، دادم. لطفا دوباره بخوانيد و اگر مشكلي بود تذكر دهيد.
2. البته من مثالي را آوردم كه اميدوارم شما آنرا نوشته و اجراء كرده باشيد. آيا اين كار را انجام دادهايد؟ چه نتيجهاي داشت؟
3. نگران نباشيد. اين طبيعي است؛ به مرور - البته با كمك كتابهايي كه معرفي كردم - با مثال و پروژههاي بيشتري آشنا خواهيد شد. شما فعلا همين مثال و تمرينها را به خوبي انجام دهيد تا حفظ شويد.
خدانگهدار
به اميد ديدار
خدانگهدار
جلسه نهم
ثابت و متغير
سلام
• جلسه امروز ما، صحبت درباره دو مفهوم مهم و پركاربرد در برنامه نويسي است؛ يعني ثابت و متغير؛ اما قبل از آنكه وارد بحث شويم، بايد كمي به حرفاي "من درآوردي" گوش كنيد. از اين جهت من درآوردي كه شايد در كتابي نشود به اين صورت، ساده و دسته بندي شده پيدا كرد.
عمليات برنامه نويسي
• يك عمليات برنامه نويسي، داراي سه بخش، است.
1. دريافت داده. در اين قسمت، اسكريپت، اطلاعاتي را كه نياز دارد، ميگيرد.
2. پردازش داده. در اين قسمت، اطلاعاتي كه تهيه كرده، تجزيه و تحليل ميكند.
3. نمايش داده. در اين قسمت، اطلاعات پردازش شده را، ارائه ميكند.
داخل پرانتز: بعضي از عمليات، آنقدر ساده و بسيط هستند كه نيازي به پردازش ندارند؛ بنابرين، اسكريپت، به محض دريافت اطلاعات لازم، آنرا ارائه ميكند؛ بر خلاف بعضي از عمليات، كه بسيار پيچيده هستند.
مثال: يك ماشين حساب را تصور كنيد. طرز كارش چگونه است؟ شما دو عدد را به او ميدهد، نوع عمليات را برايش مشخص ميكنيد، مثلا جمع؛ ماشين حساب آن عدد و عمليات را پردازش ميكند، و نتيجه را در صفحه نمايش به شما نشان ميدهد. به اميد خدا در چند جلسه آينده ميتوانيد به راحتي يك ماشين حساب بنويسيد.
راه دريافت داده
به نظر شما، يك اسكريپت، از چه راهي اطلاعات خود را به دست ميآورد؟ به تصور من كه از 3 روش.
1. برنامه نويس. معمولا شما به عنوان برنامه نويس، اطلاعاتي را به او ميدهيد. مثلا يك كلمه عبور و پسورد را ذخيره ميكنيد، كه اگر كلمهاي كه كاربر وارد كرده با آن، يكي بود، اجازه ورود به او ميدهد؛ وگرنه با يك پيام خطا، مانع ورود او ميشود.
2. كاربر. بعضي از اوقات، كاربر، اطلاعاتي را به برنامه شما ميدهد؛ مانند مثال قبلي، كه كلمهاي را به عنوان كلمه عبور، وارد كرده.
3. سيستم. در بسياري از مواقع، اين سيستم و رايانه شماست كه منبع اطلاعاتي برنامه است. مثلا براي نمايش زمان و تاريخ، با يك متد ساده، تاريخ مورد نظر را از رايانه، به دست آورده و نمايش ميدهيد.
انواع داده (ثابت و متغير)
بعضي از اطلاعاتي كه يك برنامه، به دست ميآورد، ثابت (Constant) است، و بعضي، متغير (Variable)؛ به اين معني كه يك چيز ثابت، مشخص و از پيش تعريف شده نيست.
مثال:
به مثال قبلي دقت كنيد. به نظر شما كدام قسمت از دادهها، ثابت و مشخص است، و كدام، متغير و تعريف نشده؟
كلمهاي كه برنامه نويس نوشته، مشخص و ثابت است، و كلمهاي كه كاربر، ممكن است وارد كند، نامشخص و متغير.
زمان و تاريخي كه از رايانه دريافت ميشود، چطور؟ ثابت است يا متغير؟
اميدوارم مطلب، براي شما واضح و ملموس شده باشد.
معرفي متغير و ثابت
بعد از اين مقدمه، بايد ياد بگيريد كه چگونه ميشود يك متغير، به زبان برنامه نويسي نوشت. تا اينجاي درس، ميان تمام زبانهاي برنامه نويسي مشترك بوده؛ ولي نوشتن و مشخص كردن ثابت و متغير، در زبانها، مختلف است. مثلا در زبان ويژوال بيسيك و VB Script با Dim، يك متغير را معرفي ميكنند و با Const، يك ثابت را. در حالي كه در زبان دلفي، PHP و جاوا اسكريپت با Var، متغير معرفي ميشود.
پاورقي: خوشبختانه جاوا اسكريپت در اين زمينه بسيار راحت و ساده برخورد كرده و لازم نيست مانند زبانهاي ديگر، تشريفات خاصي را رعايت كرد.
متغير در جاوا اسكريپت
1. نام گذاري متغير
به اين جمله دقت كنيد و هميشه به خاطر داشته باشيد: " ميتوانيم براي هرچيزي نامي انتخاب كنيم؛ مثلا براي اطلاعات، يا متدهاي جاوا؛ و به جاي آنكه مرتبا اسم بلند و طويل، و گاهي مشكل آن متد را بنويسيم، نامي كه خودمان برايش انتخاب كرديم را صدا ميكنيم. "
. يك متغير را در جاوا، بعد از كلمه كليدي var و به اين صورت مينويسند: var name.
. به جاي name، هر اسمي كه دوست داريد بنويسيد. البته بهتر است اسم انتخابي شما، مناسب نوع متغير باشد.
. هر كجا كه var نوشته شود، مشخص است كه متغيري را ميخواهند تعريف كنند.
2. مقدار دهي متغير
. مقدار دهي يعني مشخص كنيم كه اين متغير، برابر با چه داده و اطلاعاتي است.
. اين كار را با علامت = انجام ميدهيم. اول، نام متغير را نوشته، و بعد از آن مساوي، و سپس داده يا متد مورد نظر را يادداشت ميكنيم. به اين صورت:
var name = new Date ();
مثال: قرار است - با توجه به مطالب اين درس و درس قبل - برنامهاي بنويسيم كه زمان را به ما نمايش دهد.
وسايل مورد نياز:
| كد اسكريپت | <script></script> |
| متد زمان | new Date (), toLocaleString() |
| متد نوشتن | document.write ( ) |
با استفاده از اين وسايل و از روشي كه گفته شد - دريافت داده - پيش ميرويم.
<script>
var D = new Date (); // اولين متغير، متد زمان كلي
var L = D.toLocaleString (); // دومين متغير، متد زمان كامل، دريافت زمان از سيستم
document.write (L); // متغير خود را درون پرانتز مينويسيم، نمايش داده
</script>
واژه نامه
new Date: متدِ زمان به صورت كلي و مطلق است. بعد از آن بايد نوع زمان خود را مشخص كنيد؛ يعني چه قسمتي از زمان را ميخواهيد بدانيد؛ سال، ماه، هفته، روز و ... . به تنهايي چيزي را نشان نميدهد.
toLocaleString: متدي براي به دست آوردن زمان كامل (تاريخ و ساعت) است كه به عنوان خصوصيت، براي زمان كلي استفاده ميشود.
document.write: متدي كه براي نوشتن متن در صفحه استفاده ميشود.
document.writeln: مانند دستور قبلي عمل ميكند؛ با اين تفاوت كه يك فاصله تا رشته قبلي، ايجاد ميكند.
; : به اين علامت، سِمي كالـِن گفته ميشود كه در پايان هر دستور، ميآيد؛ هر چند در جاوا، اجباري نيست.
// : به اين علامت، كامنت (Comment) گفته ميشود كه براي نوشتن توضيح، در ميان كدهاي برنامه نويسي است. هر عبارتي كه بعد از اين علامت بيايد، توسط برنامه، خوانده و اجرا نميشود و صرفا ً توضيحي است كه برنامه نويس، يادداشت كرده.
• اين هم يك هديه، براي شما دوستان. دستور و متدهاي زمان. در آينده با آنها بيشتر آشنا ميشويد.
|
متدهاي زمان | ||
| new Date () | زمان |
نمونه |
| toLocaleString () | زمان كامل | |
| toLocaleDateString () | فقط تاريخ | |
| toLocaleTimeString () | فقط ساعت | |
| toGMTString() | زمان بين المللي | |
| getYear() | سال | |
| getMonth() | ماه | |
| getDay() | روز هفته | |
| getDate() | روز ماه | |
| getHours() | ساعت | |
| getMinutes() | دقيقه | |
| getSeconds() | ثانيه | |
جدول شماره 4
پاورقي: زمان، داراي اجزا مختلف است؛ يعني انسان، آنرا به بخشهاي مختلف تقسيم كرده تا قابل استفاده باشد. قسمتي از آن، تاريخ (سال، ماه، هفته و روز) نام دارد، و قسمتي از آن، به اجزا كوچكتر (ساعت، دقيقه و ثانيه) تقسيم شده، و ساعت، ناميده ميشود. البته معيار تاريخ در برنامه نويسي، ميلادي است. براي تبديل به شمسي يا قمري، بايد از برنامه نويسي استفاده كنيد.
تمرين
در مثال قبل، ميتوانيد به جاي toLocaleString، از متدهاي ديگر استفاده كنيد. پيشنهاد ميكنم هر كدام از آنها را به صورت جداگانه در document.write، قرار داده و نتيجهاش را ببينيد.
<script>
var Time = new Date (); // اولين متغير، متد زمان كلي
document.write (D.toLocaleString() + "<p>");
document.write (D.toLocaleDateString() + "<p>");
document.write (D.toLocaleTimeString() + "<p>");
document.write (D.toGMTString() + "<p>");
document.write (D.getYear() + "<p>");
document.write (D.getMonth() + "<p>");
document.write (D.getDay() + "<p>");
document.write (D.getDate() + "<p>");
document.write (D.getHours() + "<p>");
document.write (D.getMinutes() + "<p>");
document.write (D.getSeconds());
</script>
به اميد ديدار
خدانگهدار
جلسه هشتم
سلام
Object (شي)
• هر چيزي كه در صفحه ما وجود دارد، يك شي حساب ميشود و ميتوان از آن استفاده كرد و تغييرش داد. اولين شي موجود، خود صفحه و سند (document) است، كه قبلا با آن آشنا شدهايد.
Properties (خصوصيات)
• هر شي، يك مشخصات و خصوصياتي دارد كه بيانگر كمّيت و كيفيت آنست. مثلا يك سند، داراي اين خصوصيات است: پس زمينه، عنوان (Title)، نوار وضعيت (Status)، نوار پيمايش (Scroll)، متن (Text)، لينك (Link). بعضي از مشخصات سند را در جدول پايين آوردهام. شما اين جدول را براي خود داشته باشيد و هرگاه كه با خصوصيت جديدي آشنا شُديد، به آن اضافه كنيد.
طريقه نوشته: ابتدا نام شي را نوشته، و بعد از يك نقطه، نام خصوصيت مورد نظر را وارد كنيد. گاهي اوقات، آن خصوصيت هم داراي چند خصوصيت ديگر است كه بايد بعد از يك نقطه، نوشته شود.
|
خصوصيات سند | |
| عنوان آدرس آدرس رنگ پس زمينه رنگ متن رنگ لينك رنگ لينك فشرده شده رنگ لينك ديده شده |
document.title |
جدول شماره 2
Methods (متُد)
• کاري که اشياء ميتوانند انجام دهند، متد ناميده ميشود؛ مانند باز كردن يا بستن پنجره. شالوده و اصل يك زبان برنامه نويسي، متدهاي آن برنامه است، كه ما بايد آنها را به خوبي ياد گرفته و در جاي مناسب استفاده نماييم. متدها، توسط سازندگان زبان برنامه نويسي، نوشته و تهيه ميشود و ممكن است در نسخههاي جديد آن زبان، تغيير داده شده، اضافه و تكميل شود.
مثال: متد بسته شدن صفحه:
window.close()
Event (رويداد)
• رويداد، عملياتي است كه كاربر، در يك صفحه انجام ميدهد. بعضي از رويدادها مشترك و عمومي هستند و بعضي مخصوص يك شي. بعضي از اين رويدادها را براي شما دسته بندي كردهام كه حتما ذخيره نموده و به مرور آنرا كامل كنيد.
طريقه نوشتن: رويدادها را با كلمه on شروع ميكنند و به اين صورت ميخوانند: onClick = هنگام كليك كردن.
|
رويدادها | |||||
| عمومي | موس | صفحه كليد | |||
| onLoad | باز شدن | onMousemove | حركت موس | onKeydown | پايين آمدن كليد |
| onUnload | بسته شدن | onMouseover | ورود موس | onKeypress | فشردن كليد |
| onAbort | انصراف | onMouseout | خروج موس | onKeyup | بالا آمدن كليك |
| onFocuse | فوكوس، زوم | onClick | كليك | ||
| onBlur | برگشت از فوكوس | onDblclick | دوبار كليك | ||
| OnError | خطا | onDragstart | كشيدن | ||
جدول شماره 3
پرسش و پاسخ
• پرسش:
سلام آموزشت روان و قابل فهمه؛ اما اگر ممكنه مثالهاي عملي بكار ببر؛ يعني فرمان واقعي قابل اجرا مثال بزن. سوالي هم دارم آيا تمام دستوراتي كه در جاوا اسكرپت قابل اجراست - مانند اچ تي ام ال - دستورات مخصوص خودش را دارد؟ موفق باشي.
• پاسخ:
سلام. تشكر از پيشنهاد شما. چشم، حتي المقدور درس را با مثال عملي، همراه ميكنم. اما سوالتان، مسلما اينطور است كه شما گفتيد. جاوا اسكريپت يك زبان برنامه نويسي دقيق و ظريف هست كه دستورات مخصوص به خودش را دارد. البته اين دستورات به صورت كلي، با زبانهاي ديگر مشترك است - مانند دستور if كه در همه زبانها، موجود است - ولي در نوشتن، تفاوتهايي دارد.
به اميد ديدار
خدانگهدار
جلسه هفتم
شرط
« يكي از مهمترين ويژگيها و امكانات زبانهاي برنامه نويسي، توانايي آنها در ارزيابي و مقايسه مقادير ذخيره شده در متغيرهاست. اين توانايي اجازه ميدهد تا اسكريپت، رفتار خود را بر اساس مقادير متغيرها يا اطلاعاتي كه كاربر از طريق فرمهاي اچتيامال آنها وارد برنامه ميكند، تغيير دهد. دستور if اساسيترين ابزار جاوا اسكريپت، جهت كنترل چنين شرايطي محسوب ميشود. اين دستور، شباهت بسيار زيادي به كاربرد واژه if (اگر) در زبان انگليسي دارد. » كتاب "خود آموز جاوا اسكريپت در 24 ساعت"
• جمله شرطي را ميشود به شكلهاي مختلفي بيان كرد.
شكل اول:
سادهترين آن، همان مثال جلسه قبل بود؛ يعني
if ( شرط )
{ جزا };
شكل دوم:
شكل دوم و پركاربرد شرط، به اين صورت است:
if ( a == 10 ) { Code }
else { Code }
• در هر جمله شرطي، اين احتمال وجود دارد كه به آن شرط عمل نشود. در اين صورت چه توقعي از برنامه خود داريم؟ مثلا در يك برنامه ارسال نامه، اگر آدرس نامه پر شده بود، نامه فرستاده شود؛ در غير اين صورت، با يك اخطار به كاربرد، مانع فرستادن نامه گردد. اين توجه و زيركي بايد در شما باشد كه احتمال هر چيزي را داده و دستور مناسبي را به برنامه خود، ديكته كنيد.
براي اين حالت، يعني انجام نشدن شرط، از دستور else (وگرنه، در غير اين صورت) استفاده ميكنيم.
شكل سوم:
اين شكل، تركيبي از دو شرط است. در اين حالت، يك شرط، به بخش دوم، يعني else، اضافه شده است.
if ( a < 10 ) { Code }
else if ( a > 10 ) { Code }
شكل چهارم:
در اين شكل، عمليات شرط، كمي پيچيدهتر و دقيقتر شده است.
if ( a >= 1 && b <= 10 ) or (( a >= 1 ) && ( b <= 10 )) or ( a >= 1 , b <= 10 )
{ Code }
if ( a >= 1 || b <= 10 ) or (( a >= 1 ) || ( b <= 10 ))
{ Code }
شكل پنجم:
if ( a == 10 ) {
if ( b == 10 ) { Code }
else { Code }
}
داخل پرانتز: براي يادگيري اين شكلها، عجله نكنيد. فعلا همينكه آنها را يادداشت كنيد و به صورت كلي، با ظاهر آنها آشنا شويد، كفايت ميكند. در آينده، با مثالهاي عملي آنها، كار خواهيد كرد.
Operators (عملگرها)
در برنامه نويسي، از علامت و نشانههايي استفاده ميشود كه به آن عمگر گفته ميشود. يكي از انواع عمگرها، عمگر شرطي ميباشد.
عملگرهاي شرطي (مقايسهاي)
همانطور كه در مثالهاي اخير مشاهده كرديد، در بخش شرط، از علامتهايي مانند (==, =>, =<) استفاده شد. آيا متوجه مفهوم آن شدهايد؟ شبيه معادلات رياضي است. مساوي، بزرگتر، كوچكتر. اين علامات رياضي، در زبان برنامه نويسي هم، همان معاني را دارند. علتش اين است كه در قسمت شرط، يك مقايسهاي انجام ميشود. مثلا اگر a مساوي با b بود، يا اگر x بزرگتر از y بود، فلان كار انجام شود. نام اين علامتها در برنامهنويسي، عمگر است.
اين عمگرها عبارت از:
|
عمگرهاي شرطي | |
| مساوي | == |
| نامساوي | != |
| بزرگتر | < |
| كوچكتر | > |
| بزرگتر يا مساوي | >= |
| كوچكتر يا مساوي | <= |
جدول شماره 1
داخل پرانتز: علامت == با = فرق ميكند. در استفاده از آنها دقت كنيد.
تمرين:
مثال جلسه قبل را به خاطر داريد؟ امروز آنرا كامل كنيد. اگر پس زمينه، سفيد بود، بنويسد سفيد؛ وگرنه پيام ديگري بدهد يا مثلا رنگ فعلي را اعلام كند.
به اميد ديدار
خدانگهدار
جلسه ششم
جاواي باهوش
سلام
• بعد از نوشتن اولين دستور برنامه نويسي، بهتر است با مفهوم اين دستورات آشنا شويم. همانطور كه ملاحظه كرديد، ميان يك دستور جاوا با اچتيامال، تفاوت است. اچتيامال، يك صفحه ساده و ثابت را به ما ميدهد؛ و جاوا، يك صفحه متحرك و هوشمند. با اچتيامال، بدنه و اسكلت يك صفحه (متن، عكس، جدول و فرم) را ميسازيم و با جاوا به اين بدن و اسكلت، روح ميدميم و آنرا زنده ميكنيم؛ تا آن حد كه نسبت به هر عملي، واكنش و عكس العمل مناسبي را نشان ميدهد.
مثال: يك فرم ارسال نامه را تصور كنيد. اگر مثلا نام خود يا آدرس گيرنده را اشتباهاً ننويسيد، برنامه، با پيامي اين موضوع را به شما يادآوري ميكند. يعني اينكه متوجه عمل شما شده و يك واكنش مناسب، نشان ميدهد. در اين جلسه با اين مقوله، يعني هوشمند بودن جاوا، آشنا ميشويم.
شرط
تعريف شرط
• يكي از ابزار و دستورات مهم هر زبانِ برنامه نويسي، شرط است. آيا ميدانيد شرط چيست؟ براي درك مفهوم آن، احتياجي نيست به خود زحمت بدهيد؛ چون اين دستور، در زندگي من و شما به وفور يافت ميشود. اگر خورشيد درآيد، هوا روشن ميشود. اگر درس بخواني، قبول ميشوي.
|
اگــر دلــي را بـه نالـه آري، ز برق آهش امــان نداري اگر عمري گنه كردي، مشو نوميد از رحمت |
به تمام اينها، جمله شرطي گفته ميشود.
ساختمان شرط
• جمله شرطي، از سه قسمت اصلي، تشكيل شده است.
1- ادات شرط: كلمهاي كه شرط را ميرساند؛ مانند اگر.
2- شرط: جملهاي كه شرطِ انجام كاري، واقع شده.
3- مشروط يا جزا: جملهاي كه جزاي شرط و در جواب آن آمده؛ يعني در صورت تحقق شرط، آن نيز به وقوع ميپيوندد.
• در زبان برنامهنويسي هم مثل زبان محاورهاي، اين سه ركن، رعايت شده. با اين عناصر و طريقه نوشتن آنها، آشنا ميشويم.
عناصر شرط، در جاوا:
| 1- ادات شرط: if 2- شرط: داخل پرانتز (...) 3- جزا: داخل كروشه {...} |
|
ادات شرط
معروفترين - و شايد تنهاترين - ادات شرط، if است.
اهميت شرط
• اهميت استفاده از شرط در برنامهنويسي، به فايده آن، برميگردد. هر چقدر كه استفاده از آن، منفعت داشته باشد، اهميت دارد. اين موضوع را با مثال، توضيح ميدهم.
به اولين دستوري كه نوشتيد دقت كنيد. آنرا در داخل يك صفحه، نوشتهايد كه به محض ورود به آن، پيام ديده ميشود. اين خوب است ولي كامل نيست. تصور كنيد هر دستور جاوايي كه مينويسيم به محض ورود، نمايش داده شده يا اجرا شود. مثلا شما ميخواهيد اگر كاربر، آدرس گيرنده را ننوشت، اخطاري نشان داده شده و مانع ادامه كار گردد. اين دستور بايد كجا قرار گيرد؟ چگونه بايد آنرا كنترل كرد كه هرجا شما خواستيد يا كاربر اشتباهي كرد، اجرا شود؟ اينجاست كه بايد دست به دامن شرط شد. پس از شرط، براي كنترل و تنظيم فرامين، استفاده ميكنيم.
حالا همان مثال اولي، يعني نمايش پيام را ميخواهيم با كمي كنترل، اجرا كنيم. مثلا اگر رنگ پس زمينه صفحه ما، سفيد بود، بنويسد سفيد:
if (document.bgColor == "#ffffff")
{alert("سفيد")
};
حالا اين پيام، در صورتي نمايش داده ميشود كه شرط آن، يعني سفيد بودن پس زمينه، محقق شده باشد. البته اين يك مثال بود كه الان به ذهنم رسيد. شما ميتوانيد شرط يا جزاي ديگري را در نظر بگيريد.
در جلسه آينده، به اميد خدا، با اقسام شرط آشنا شده و تسلط بيشتري بر دستورات خود، پيدا خواهيم كرد.
واژه نامه:
document = سند، صفحه جاري، پنجرهاي كه در آن كار ميكنيد
document.bgColor = رنگ پس زمينه سند
به اميد ديدار
خدانگهدار
جلسه پنجم
پارامتر
سلام
پارامترهاي اسكريپت:
• تگ اسكريپت، پارامترهايي دارد كه در اين جلسه با آنها آشنا ميشويم. به اين خط دقت كنيد:
<script language="JavaScript" src="">
پارامتر زبان (language)
• اولين پارامتري كه به چشم ميخورد، زبان است. اسكريپت، يك زبان عمومي است كه انواع و اقسامي دارد. يكي از آنها جاوا اسكريپت است كه معروف و متدوالترين آنهاست. LiveScript ،JScript و VBScript، انواع ديگر آن است. اين زبانها، با هم تفاوت دارند. بنابرين در ابتداي كار، بايد براي اكسپلورر، مشخص كنيم كه به چه زباني ميخواهيم برنامه نويسي كنيم، تا طبق آن عمل كند.
داخل پرانتز: چون جاوا اسكريپت، اولين و مشهورترين زبان اسكريپتي است، احتياجي نيست كه اين پارامتر را برايش بنويسيم. به عبارت ديگر، هرگاه كه نوع زبان اسكريپتي، مشخص نشود، اكسپلورر، فرض را بر جاوا اسكريپت ميگيرد و طبق آن عمل ميكند.
پارامتر مكان (src)
دومين پارامتر، مكان است؛ يعني محلي كه كدهاي جاوا در آن نوشته شده است.
توضيح:
• معمولا، كدهاي جاوا را در خود صفحه html مينويسيم و اجرا ميكنيم. ولي ميتوان تمام كدهايي را كه نياز داريم، در يك صفحه مستقل يا پرونده متني، ذخيره كرده، و فقط آدرس آن پرونده را بنويسيم. در اين صورت، اكسپلورر، با رسيدن به اين پارامتر، آدرس مورد نظر را خوانده، به آن مراجعه كرده، و كد مورد نظر را اجرا ميكند. اين پرونده را - كه يك بانك دستورات جاواست - با پسوند js. ذخيره ميكنند. وقتي يك صفحه اينترنتي را ذخيره ميكنيم، عكس و ديگر متعلقات آن، در يك پوشه به همين نام، ذخيره ميشود. اگر دقت كرده باشيد، گاهي پروندههايي با همين پسوند (js) در آن وجود دارد.
بنابر آنچه كه گفته شد، وقتي از اين پارامتر استفاده ميشود كه دستورات جاوا را در جاي ديگري ذخيره كردهايم.
مثال: اگر اين پرونده را به نام java، در پوشهاي به نام image، و در كنار صفحه html خودمان، ذخيره كردهايم، اينگونه آدرس آنرا مينويسيم:
src="image\java.js"
داخل پرانتز:
• اسكريپت، پارامترهاي ديگري هم دارد كه اين دو پارامتر، مهمترين و كاربرديترين آنهاست.
• اگر قرار است جاوا بنويسيد، و در همان صفحه باشد، نه در جاي ديگر، كافي است بنويسيد: <script>
به اميد ديدار
خدانگهدار
جلسه چهارم
اولين دستور
سلام
انواع تگ:
1. تگ ساده. بعضي از انواع تگ، يك قسمتي هستند؛ مانند تگ خط (لاين) = <hr>.
2. تگ مركّب. تگهايي كه از دو قسمت شروع و پايان، ساخته شدهاند؛ مانند تگ خط و متن = <Font></Font>. اكثر تگها، به اين شكل هستند. اين نوع تگ هم به دو دسته تقسيم ميشود.
1. تگي كه ميتوان انتهاي آنرا ننوشت؛ به اصطلاح، آنرا باز بگذاريم. مانند تگ پاراگراف = <p>
2. تگي كه بايد انتهاي آن مشخص و بسته شود. مانند تگ اسكريپت = <Script></Script>
داخل پرانتز: چون اين تقسيم بندي، جديد و تجربي است، ممكن است جامع و دافع نباشد، و بشود بهتر از اين تعريف كرد.
متوجه شديم كه تگ جاوا اسكريپت، از نوعي است كه بايد ابتداء و انتهاي آن مشخص شود. ابتداء تگ جاوا را به اين شكل <Script> مينويسيم و انتهايش را به اين صورت <Script/>. دستورات جاوا هم ما بين اين دو تگ نوشته ميشود.
اكسپلورر، با ديدن تگ اسكريپت، متوجه ميشود كه اين يك دستور برنامه نويسي است و نبايد آنرا نشان دهد و فقط آنرا اجرا ميكند. ولي اگر اين تگ را ننويسيم، يا اشتباه بنويسيم، دستورمان اجرا نشده و هر چه نوشتهايم، در صفحه وب، نمايش داده ميشود.
اولين دستور:
حالا ميخواهيم اولين دستور جاوا اسكريپت را بنويسيم. اولين چيزي كه با هم تمرين ميكنيم، دستور پيام (alert) است. ابتداء يك تگ كامل اسكريپت را نوشته؛ و بعد داخل آن بنويسيد: alert ("سلام")
<Script>
alert ("سلام")
</Script>
بعد از ذخيره كردن، آنرا اجرا كنيد. يك كادر، نمايش داده ميشود كه بر روي آن نوشته: سلام. اين اولين سلام، از طرف جاوا اسكريپت به شماست؛ و شايد از طرف دنياي برنامه نويسي. حتما متوجه شدهايد كه كلمه سلام، به عنوان مثال بود و شما ميتوانيد هر متن كوتاه يا بلندي را جايگزين آن كنيد.
تذكر: در برنامه نويسي، به كوچك و بزرگ بودن حروف، دقت كنيد.
پرسش و پاسخ:
• پرسش
سلام. خسته نباشيد. ميخواستم بدونم كه دستورهاي جاوا ، در قسمت بدنه هم به كار ميره يا فقط در قسمت سر هستش. و اگر ميشه استفاده كرد ميخوام بدونم چه تعدادي از دستورهاي جاوا ميشه در يه صفحه وب استفاده كرد. ممنون ميشم.
• پاسخ
1. معمولا قسمت سر، براي نوشتن كُدهاي مختلف، مانند جاوا، و قسمت بدنه، براي نوشتن متن، به كار ميرود. براي اشتباه نشدن و دسترسي آسان، بهتر است شما هم همين كار را كنيد؛ اما در اكثر اوقات، الزامي براي اين كار نيست. البته گاهي در برنامه نويسي، مواردي پيش آمده كه بايد در قسمت بدنه، دستور جاوا را مينوشتم.
2. ظاهرا كه محدوديتي در تعداد دستورات جاوا، وجود ندارد.
واژه نامه:
پارامتر (Parameter): مقداري كه براي تگ، نوشته ميشود. مثلا براي تگ خط، معيّن ميكنيم كه از چه نوعي، به چه اندازهاي و چه رنگي باشد. مثال: كلمه Color، در تگ Font، پارامتري است كه رنگ متن را مشخص ميكند.
<Font color="#0000FF">
پارامتر را شايد بتوان اين گونه تعريف كرد كه قيد حالت است براي تگ. تگ اسكريپت، هم داراي پارامترهايي است كه در جلسه بعد به آن، ميپردازيم.
معرفي كتاب:
• نام: خود آموز جاوا اسكريپت در 24 ساعت
Teach yourself Java Script in 24 hours
نويسنده: مايكل مانكر
مترجم: مهندس علي ناصح
ناشر: موسسه فرهنگي هنري ديباگران تهران
نوبت چاپ: اول
قيمت: 3300 تومان
تلفن: 2090001 الي 5
پايگاه اينترنتي: http://www.jsworkshop.com
اين سايت، داراي نكات آموزنده و جالب در علوم مختلف طراحي وب، بالاخص جاوا اسكريپت ميباشد. ميتوانيد مثالهاي كتاب را در اين آدرس با توضيح ديده و از اين آدرس دانلود كنيد.
• نام:خود آموز سريع جاوا اسكريپت
Java Script For The World Wide Web 2003
نويسندگان: تام نگرينو و دوري اسميت
مترجم: مهندس حميد رضا ذوقي
انتشارات: ذوقي
نوبت چاپ: اول
قيمت: 3950 تومان
پايگاه اينترنتي: http://www.javascriptworld.com
در اين پايگاه، علاوه بر مثالهاي كتاب، پايگاههاي كمكي براي زبانهاي وب، نيز معرفي شده است.ميتوانيد مثالهاي كتاب را در اين آدرس با توضيح ديده و از اين آدرس دانلود كنيد.
به اميد ديدار
خدانگهدار
جلسه سوم
سلام
جلسه قبل، مطالب كلي درباره برنامه نويسي، و انواع آن، گفته شده؛ مثل ارتباط زبان جاوا اسكريپت، با زبان سروري. اينبار ميخواهم ارتباط جاوا را با زبان html بيان كنم.
• html يك زبان برنامه نويسي نيست؛ بلكه زبان طراحي است. شالوده هر صفحهاي كه در اينترنت ميبينيد، با اين زبان نوشته شده است. مثلا اين وبلاگ، و همين كلماتي كه من مينويسم و شما ميبينيد. اگر بخواهم كلمهاي را بنويسم، بزرگ شود، رنگي باشد، لينك داشته باشد، يا يك عكس وارد كنم، يا يك جدول طراحي كنم؛ همه و همه با اين زبان است. متن، كيفيت متن (نوع، رنگ، اندازه)، عكس، جدول، فرم، دكمه؛ به وسيله زبان html نوشته ميشوند.
كار با html
• نوشتن اين زبان، احتياج به محيط خاصي ندارد. مثلا زبان ويژول بيسيك را بايد برنامه ويژوال بيسيك را نصب، و در محيط آن بنويسيم؛ ولي زبانهاي وب، چنين محدوديتي ندارند. مثلا شما در يك متن ساده (Text)، ميتوانيد به راحتي، هم HTML بنويسيد و هم Java و هم PHP.
• در رابطه با طراحي وب، برنامههايي ساخته شدهاند كه ما را در هرچه راحتر، سريعتر، و دقيقتر نوشتن، كمك ميكنند. مانند "فرانت پيج" (FrontPage) از مايكروسافت، و "دريم ويور" (Dreamweaver) از ماكرومديا، و برنامههاي ديگر. در اين نوع نرمافزارها، امكاناتي تدارك ديده شده كه كار با html را آسان و مطمئن كردهاند.
1- ويرايشگر قوي: امكان برگشت (Undo)، تا چندين مرحله. رنگي كردن قسمتهاي مختلف كـُد، براي بهتر مشخص شدن دستورات.
2- ويژوالي شدن: ويژوال يعني بصري، ديدني، قابل ديدن. يعني به جاي كدنويسي در يك محيط ساده، براي ساخت يك دكمه، از دكمههاي آماده در اين برنامه استفاده ميكنيد. اين نرمافزار، عناصر مختلف را به صورت آماده، در اختيار ما قرار داده است. كافي است شما آنها را انتخاب كنيد.
3- كدهاي آماده: بعضي از دستورات متدوال را به صورت آماده، ارائه ميكنند.
4- غلط ياب: در صورت اشتباه نوشتن كد، اخطار ميدهد.
مثال: براي ضخيم كردن يك كلمه در html ، بايد اين دستور را نوشت:
<b>مثال</b>
ولي در فرانت پيج، كافي است كلمه مورد نظر را انتخاب كنيد، و در نوار ابزار، آيكون B را كليك كنيد.
داخل پرانتز: در اينجا نه قصد دارم فرانت پيج يا هر نرم افزار ديگري را آموزش دهم، و نه استفاده از آنها را به دوستان تازه كار، توصيه ميكنم؛ چون ما را از هدفمان كه يادگيري برنامه نويسي است دور كرده و باعث تنبلي ميشود. تنها يك نرمافزار را پيشنهاد ميكنم كه از مدتها قبل، همراه و يار من در يادگيري و برنامه نويسي بوده. "1st Page 2000". اين برنامه رايگان را ميتوانيد از اين آدرس دريافت كنيد.
ساختار HTML
يك صفحه وب، از دو قسمت سر (Head) و بدنه (Body) تشكيل شده، كه به اين صورت نوشته و مشخص ميشود.
<html>شروع صفحه
<head>شروع سر
<Script>
دستورات جاوا
</Script>
</head>پايان سر
<body>شروع بدنه
محتويات صفحه: متن،عكس
</body>پايان بدنه
</html>پايان صفحه
واژه نامه:
كـُد (Code): دستور و فرماني كه به زبان برنامه نويسي، نوشته شده.
تَـگ (Tag): كوچكترين جزء يك كد. مثلا تگ سر = <head>؛ تگ بدنه = <Body>؛ تگ اسكريپت = <Scirpt>. هر تگ بايد در داخل اين دو علامت < >، قرار گيرد.
در جلسه آينده، به اميد خدا، با انواع تگ، آشنا خواهيم شد.
به اميد ديدار
خدانگهدار
جلسه دوم
آشنايي با برنامه نويسي
برنامه نويسي
اساسا كاربران، براي منتقل كردن دستورات خود به رايانه، از زبانهاي برنامه نويسي ( C، ويژوال بيسيك، دلفي، جاوا اسكريپت)، استفاده ميكنند. مثلا براي نوشتن و يك تايپ ساده، بايد برنامهاي مانند Word، توسط يك برنامه نويس، نوشته و در اختيارتان قرار گيرد كه بتواند حركات انگشت شما را بر روي صفحه كليد، ترجمه و پردازش كرده، تبديل به حروف كند، و به شما نمايش دهد. به همين صورت است ديدن و طراحي عكس، شنيدن صوت، ديدن فيلم و هزاران كار ديگر، كه در رايانه به راحتي براي شما ميسّر شده است.
• پس زبانهاي برنامه نويسي، وسيلهاي هستند براي ساختن برنامه و نرمافزار مورد نياز ما. البته اين زبانها با هم تفاوتهايي دارند:
1- در سبك نوشتن دستورات
2- در قدرت و محدوده فعاليتشان
3- در محيط اجراء برنامههايي كه ساختهاند.
اما تفاوت سوم: اكثر برنامهها، به راحتي، در محيط رايانه خانگي شما و در سيستم عامل ويندوز، قابل اجراء هستند؛ ولي ممكن است در سيستم عاملهاي ديگر، مانند لينوكس، به اين صورت و به اين راحتي نباشد. يا در همين ويندوز خودمان، هر متني قابل ديدن است؛ مانند doc, txt, pdf, htm؛ ولي در محيط اينترنت، پروندههايي از نوع doc و pdf قابل اجراء نيستند، و بايد اول آنها را دانلود كنيم و بعد در رايانه ببينيم. تنها برنامه و پروندهاي قابل اجراء و استفاده است كه با زبان html همخواني و سازگاري داشته باشد.
داخل پرانتز: تا همين چند وقت پيش، در محيط وب، حتي عكس هم قابل ديدن نبود؛ ولي الانه با قدرتمند شدن بُرازرها و جستجوگرهاي اينترنت، حتي ميتوانيم بعضي از انواع فيلم را در اينترنت ببينيم.
• پس به طور كلي ميتوانيم برنامههاي خود را به دو گروه، تقسيم كنيم:
1- برنامههايي كه در محيط رايانه، استفاده ميشوند.
2- برنامههايي كه در محيط وب و اينترنت قابل استفاده هستند.
• با جاوا اسكريپت، ميتوانيم برنامهاي بنويسيم كه هم در رايانه و هم در محيط اينترنت، قابل اجراء باشد. البته زادگاه اصلي آن، اينترنت است.
پاورقي: در اينترنت، زبانهاي مختلفي به وجود آمدهاند كه همين تفاوت (محيط اجراء) را با هم دارند:
1- بعضي از آنها در طرف كاربر و كلاينت (Client) - يعني شما كه از اينترنت استفاده ميكنيد - اجراء ميشود. JavaScript, JScript, VBScript.
2- بعضي از آنها در طرف سرور (Sserver) - يعني سايتي كه شما از آن استفاده ميكنيد - اجراء ميشود. asp, php.
• جاوا اسكريپت، از آن دسته از زبانهاست كه در طرف كاربر، عمل ميكند. با دو مثال، موضوع را براي شما روشنتر ميكنم.
1- يك ساعت را تصور كنيد. اگر با جاوا اسكريپت، نوشته شود، زمان را طبق ساعت رايانه شما نشان خواهد داد؛ ولي اگر با برنامهاي مانند asp - كه زبان سروري است - نوشته شود، زمان رايانه سرور را نشان خواهد داد كه ممكن است با زمان شما، تفاوت داشته باشد.
2- يك فرم نظرخواهي را تصور كنيد. در رابطه با اين فرم، دو كار انجام ميشود.
- اطلاعات از شما گرفته، و براي سايت مورد نظر فرستاده شود. اين بخش از كار را، جاوا انجام ميدهد.
- اطلاعات فرستاده شده، در يك بانك، ذخيره شود. اين بخش از كار، به عهده زبان سروري ميباشد.
• بنابرين جاوا اسكريپت، يک زبان برنامه نويسي ميباشد که به وسيله آن ميتوان بين کاربر و سايت ارتباط برقرار نمود.
توجه: استفاده از جاوا اسكريپت در صفحات وب، نيازي به نوشتن اسکريپتها نداشته، و ميتوانيد اسکريپتهاي موجود در شبکه اينترنت را کپي و در مکان مورد نظر، با ايجاد تغييرات مورد نياز، استفاده کنيد؛ اما در صورتيکه يک برنامه نويس باشيد، خواهيد توانست اسکريپتهاي مورد نظرتان را بنويسيد.
خدانگهدار
جلسه اول
گام اول
سلام
حقيقتش، اين وبلاگ رو براي به راه افتادن چندتا از دوستان، باز كردم. هم تشويقي براي شروع به كار اونها باشه و هم مرجعي براي جواب سوالهاشون. قصدم اين نبود كه زبان جاوا اسكريپت رو به طور كامل، تدريس كنم. با وجود سايتهاي معتبر و تخصصي خارجي و ايراني، جايي براي چنين ادعايي نيست. ولي گاهي اوقات، اثري كه يك درس خصوصي و چند نفره داره، يك كلاس عمومي، نخواهد داشت.
هر كسي براي خودش در آموختن و آموزاندن، راه و روشي داره. روشي كه من انتخاب كردم:
گام اول، ذكر چند مرجع است. يعني چند سايت، كتاب و سيدي آموزشي در اين رشته رو معرفي ميكنم. اين مراجع، به طور كلي ميتونند شروع و استرات خوبي براي ما باشند. در راهي كه ديگران رفتند، تجربه كردند و مطمئن هست، حركت ميكنيم.
گام دوم، معرفي يك كتاب، به عنوان مدار اصلي درس، است. يعني ما، حول همين كتاب و طبق فصول و ابوابش، پيش ميريم. از مطالب خوبش استفاده كرده و اگر كم و كاستي داشت، با هم كاملش ميكنيم.
گام سوم، مطالعه و تحقيق شما.
گام چهارم، ممكنه در ضمن مطالعه، براتون سوالهايي پيش بياد، كه من در خدمتتون هستم. البته فكر نكنم به راحتي و حاضر و آماده، بشه جواب سوالي رو ازم بگيريد. اگر براي اولين باره كه با اين مساله روبرو ميشيد، شما رو راهنمايي ميكنم به منابعي كه در دسترس است. اگر قبلا اونو خونديد و فراموش كرديد، سعي ميكنم يادآوري كنم. با اين كار، خود شما، جواب سوالتون رو به دست مياريد و لذتي كه ميبريد، بيشتر از خوردن يك غذاي كنسروي و آماده است. بله، اگر در نهايت، متوجه پاسخ نشديد يا اشتباهي در ضمن كار به وجود اومد، ...
داخل پرانتز: اين كار، چون از راه دور و غير حضوري است، خسته كننده، طولاني و گاهي اوقات نااميد كننده ميشه. تنها چيزي كه ميتونه در اين مواقع به ياري شما بياد، فراموش نكردن هدف اصلي، و صبر و استقامت است. پس با نام خدا، آستين همت، بالا زده و شروع ميكنيم.
چند مرجع (سايت) :
• ايران JavaScript: فارسي. از سايتهاي فارسي زبان كه تخصصا درباره اين زبان، فعاليت ميكند. قسمتي از آن به آموزش، و قسمتي به بيان مثال، ميپردازه.
• استاد آنلاين: فارسي. علوم مختلف رايانهاي را به شما آموزش ميدهد كه جاوا يكي از آنهاست.
• Learn JavaScript: انگليسي. سايت w3schools ، مرجع بسيار جامع و جالبي است براي بسياري از علوم رايانهاي. يكي از امكانات جالب آن، ايجاد محيطي براي تمرين آنلاين است. يعني در همين سايت، ميتوانيد هر درسي را تمرين، اجراء و نتيجه آنرا ببينيد.
• JS Workshop: انگليسي. يك مخزن عالي با مقادير زيادي اسكريپت و مسالهاي فراوان براي يادگيري جاوا اسكريپت.
• Pagere Source: انگليسي. هرآنچه را كه براي طراحي وب، لازم است، در چند بخش، به شما آموزش ميدهد.
1- HTML Tutorials
2- JavaScript Tutorials
3- DHTML/Style Sheets
4- CGI/Perl
5- Web Design Articles
در هر بخش، با مسائل طبقه بندي شده روبرو ميشويد.
خدانگهدار
نظرات ()
