تاريخ و زمان در جاوا اسکريپت
Date Object
يکي از ويژگي هايي که جاوااسکريپت دارد جمع آوري اطلاعات از سيستم کاربر و نمايش آنها در صفحات وب است. همانطور که ميدانيد زبان اچ تي ام ال به تنهايي قادر به انجام چنين کاري نيست اما با کمک زبانهاي ديگر تحت وب مانند Javascript ، مي تواند تا حدودي اين مشکل را برطرف کند. شئ هايي در جاوااسکريپت وجود دارند که توسط متدهاي مختلف، اطلاعات مورد نياز را از سيستم گرفته و در اختيار کاربران قرار مي دهند. يکي از اين object ها و شئ ها ، Date مي باشد که به کمک آن مي توانيم تاريخ و زمان سيستم را هنگام اجراي کد دريافت کنيم، سپس آنرا نمايش دهيم و يا اينکه در يک متغير ذخيره کنيم تا در صورت لزوم از آن بهره گيريم. اين object بصورت زير تعريف مي شود:
به طرز نوشتن آن دقت کنيد که غير از اين باشد با پيغام خطا روبرو خواهيد شد چون جاوااسکريپت زبان حساسي است پس هر جا که حروف بزرگ است بايد بزرگ و هر جا کوچک است بايد کوچک نوشته شود. در آخر هم پرانتز مي گذاريد که در قسمتهاي بعدي همين صفحه کارآيي آنها را درک خواهيد کرد. اين شئ يک رشته متني شامل روز، ماه، سال، ساعت، دقيقه، ثانيه و اختلاف زماني با UTC را برميگرداند. UTC مخفف Coordinated Universal Time مي باشد که به آن Zulu time هم مي گويند و مطابق با استاندارد جهاني زمان است.
کد زير را در يک سند اچ تي ام ال وارد کنيد و پس از ذخيره، آنرا اجرا کنيد:
کد:
<script language="javascript" type="text/javascript">
document.write ( new Date() )
</script>
متدهاي شئ Date
بعد از ساختن شئ جديد Date ، مي توانيد توسط متدهاي مربوط به آن جزئيات ديگري از اين شئ دريافت کنيد. اين شئ داراي هفت متد اصلي ميباشد که بيشترين کاربرد را دارند. اين متدها عبارتند از:
کد:
getDate(), getDay(), getMonth(), getYear(), getHours(), getMinutes(), getSeconds()
براي تعريف و استفاده از اين متدها بايد ابتدا شئ را نوشته، سپس يک نقطه بگذاريم و بعد از نقطه متد مورد نظر را بنويسيم.
براي درک بهتر مطالب گفته شده يک تمرين را با هم انجام مي دهيم. در يک صفحه وب، مي خواهيم زمان ورود يک کاربر به همان صفحه را اعلام کنيم. بطور مثال:
شما دقيقاً درساعت 19:10:45 وارد اين صفحه شديد.
که اسکريپت آن براي برگرداندن زمان مورد نظر به صورت زير مي باشد:
کد:
<script language="javascript" type="text/javascript">
var vorood = new Date()
document.write( vorood.getHours() + ":" + vorood.getMinutes() + ":" + vorood.getSeconds() )
</script>
ابتدا شئ Date را تعريف کرده و در يک متغير به نام vorood ذخيره مي کنيم تا بکار بردن آن در قسمتهاي بعدي راحت تر باشد، سپس از شئ document و متد write براي چاپ نتيجه در صفحه وب استفاده کرده و متدهاي لازم براي برگرداندن اطلاعات مورد نياز را مي نويسيم. دقت کنيد که براي ترکيب متدها از علامت + استفاده کرديم، اين علامت باعث ترکيب و پيوند بين اجزاي يک اسکريپت مي شود که خاصيت آنرا در بخش بعدي operator ها يعني عملگرها توضيح خواهم داد. ازعلامت : هم بين ساعت، دقيقه و ثانيه استفاده شده و چون مي خواستيم که اين علامت عيناً در صفحه نوشته شود آنرا بين علامت نقل قول يعني "" گذاشتيم. در ضمن مي توانيد از کدهاي اچ تي ام ال هم استفاده کنيد تا زمان به شکل دلخواه شما در صفحه چاپ شود. بطور مثال اگر بخواهيد که صورت Bold در صفحه نوشته شود، به شکل زير عمل مي کنيد:
کد:
document.write("<b>"+ vorood.getHours()+ ":"+ ...... + "</b>")
نکته: هنگاميکه از متد getMonth() براي برگرداندن عدد ماه استفاده مي کنيد بايد هميشه آنرا بعلاوه عدد يک کنيد چون جاوااسکريپت اولين ماه ميلادي را برابر با عدد صفر قرار مي دهد.
کد:
document.write( new Date().getMonth()+1 )
در مورد متد getYear() هم اگر مي خواهيد نتيجه کامل برگردد يعني سال بصورت چهاررقمي نوشته شود بايد از متد getFullYear() استفاده کنيد.
اگر هم بخواهيد تمام مقادير بر اساس UTC برگردانده شوند، بايد اين کلمه را در وسط متد مورد نظر وارد کنيد. بدين صورت:
کد:
getUTCFullyear(), getUTCDate(), getUTCHours(), getUTCMinutes()
تنظيم تاريخ و زمان
شئ Date به غير از متدهاي ذکر شده در بالا، داراي متدهاي ديگري است که توسط آنها مي توانيد زمان و تاريخي را بصورت دلخواه تنظيم کنيد. در اينگونه متدها بجاي کلمه get بايد از set استفاده کنيد و مقدار معيني را در پرانتز وارد کنيد. بطور مثال مي خواهيم همين موقع را در سال 2008 داخل صفحه چاپ کنيم.
کد:
<script language="javascript" type="text/javascript">
var zaman = new Date()
zaman.setFullYear(2008)
document.write ( zaman )
</script>
نتيجه اي که اين اسکريپت برميگرداند بصورت زير است، به روز هفته در اول خط و سال در آخر خط توجه کنيد که براي سال 2008 تنظيم شده است.
کد:
Wed, 03 Dec 2008 19:10:45 GMT+0330
تکرار دستورات توسط حلقه ها javascript loops
هر گاه بخواهيد يک مجموعه کد به دفعات مشخص و يا رسيدن به يک نتيجه مشخص تکرار شود، بايد از حلقه استفاده کنيد. حلقه ها در جاوااسکريپت دو نوع هستند، يکي حلقه for و ديگري حلقه while که هر کدام از آنها هم ممکن است بسته به موقعيت کد مدلهاي مختلفي داشته باشند که در ادامه با کار آنها آشنا خواهيد شد.
حلقه for
در اين حلقه، مجموعه کد مورد نظر به تعداد مشخص تکرار مي شود که در ابتداي حلقه تعداد دفعات اجراي کد بايد اعلام شود. پس هرگاه مي دانستيد که چند بار قرار است کد اجرا شود از اين حلقه استفاده کنيد. بطور مثال مي خواهيم اعداد از 0 تا 10 در صفحه چاپ شوند:
کد:
<script language="javascript" type="text/javascript">
for ( i = 0; i <= 10; i++ )
{
document.write ( " Number " + i + "<br />")
}
</script>
خب براي اجراي اين مثال ابتدا کلمه for را نوشتيم تا شروع حلقه را به مفسر اعلام کنيم سپس يک پرانتز بايد باز کنيم تا پارامترهاي لازم براي تکرار در اين حلقه را وارد کنيم. اولين پارامتري که بايد وارد شود، يک متغير است با مقداردهي اوليه که به آن initial expression يا همان عبارت آغازين مي گويند. سپس دومين پارامتر که يک شرط است و مفهوم آن اينست که حلقه بايد ادامه پيدا کند تا متغير کوچکتر يا برابر با عدد 10 بشود. سومين پارامتر به عبارت افزاينده يا increment expression معروف است که در اينجا به اين مفهوم مي باشد که در هر بار اجراي حلقه يک واحد بايد به متغير افزوده شود. در انتهاي اعلام پارامترها پرانتز را مي بنديم. فقط دقت کنيد که در اين پرانتز هر پارامتري که نوشته شود بلافاصله بعد از آن بايد علامت ; قرار گيرد تا تداخلي بين آنها بوجود نيايد.
بطور ساده پارامترهاي داخل پرانتز را مي توانيم اينچنين بيان کنيم: مقدار اوليه متغير سپس مقدار نهايي و در آخر هم ترتيب افزايش متغير در هر تکرار حلقه. ناگفته نماند که حتماً نبايد مقدار افزايشي باشد، مي تواند به ترتيب کم شود که همه مقادير برعکس خواهند شد.
در خط بعد هم نتيجه را مابين آکلاد مي گذاريم تا به اسکريپت نظم دهيم و سپس دستور تايپ نتيجه که کلمه number را چون مي خواهيم عيناً در صفحه چاپ شود داخل " " گذاشتيم و بعد + که با پارامترهاي ديگه ترکيب بشود. البته در اينجا بجاي علامت بعلاوه مي توانيد کاما هم بگذاريد و بعد از آن متغير تعريف شده و در انتهاي آنها از تگ br استفاده کرديم تا هربار که حلقه تکرار مي شود نتيجه در يک خط جديد چاپ شود.
حلقه while
نوع ديگر حلقه ها، حلقه while مي باشد که بر خلاف حلقه for لزومي ندارد که متغيرها را در داخل پرانتز به عنوان پارامتر حلقه اعلام کنيم و همچنين در مواردي هم که مقدار انتهايي حلقه مشخص نيست مي توانيم از اين نوع استفاده کنيم چون کد مورد نظر تا جايي که نتيجه دلخواه بدست بيايد تکرار خواهد شد. البته اين نوع حلقه را مي توانيم بجاي حلقه for هم بکار بريم يعني اگر مقدار نهايي متغير هم داشته باشيم اين حلقه کاربرد خواهد داشت. مثال بالا را در مورد اين حلقه مي توانيم به اين صورت ذکر کنيم:
کد:
var i = 0
while (i <= 10)
{
document.write(" Number " + i + "<br />")
i++
}
کلمه while را مي توانيم ترجمه کنيم به ماداميکه ، پس در اينجا ما متغير را جداگانه تعريف کرديم و حالا مي گوييم، ماداميکه شرط کوچکتر يا مساوي 10 بودن برقرار نيست حلقه را تکرار کن و يک واحد به آن اضافه کن تا بالاخره شرط ما درست دربيايد.
حلقه Do...while
يک نوع حلقه ديگر در جاوااسکريپت وجود دارد که در حقيقت برعکس حلقه while مي باشد. در اين حلقه، شرط در آخر بدنه حلقه بررسي مي شود يعني يکسري دستور اجرا مي شود سپس شرط بررسي مي گردد که آيا به نتيجه مورد نظر رسيده است يا نه که اگر نتيجه درست نبود دوباره باز تکرار خواهد شد. فرق اين حلقه با حلقه while در اينست که حداقل يکبار دستورات اجرا خواهند شد ولي در حلقه while ممکن بود در صورت برقرار بودن شرط در همان ابتدا ديگر دستورات اجرا نشوند. حالا به مثال زير توجه کنيد تا کاملاً موضوع را درک کنيد:
کد:
var i=0
do
{
document.write(" Number " + i + "<br />")
i=i+1
}
while (i <= 10)
در اينجا همه چي مانند مثالهاي بالا است با اين تفاوت که کلمه do به ابتداي حلقه اضافه شده و بررسي شرط هم به انتهاي حلقه منتقل شده. همانطور که ميدانيد يکي از معني هاي do انجام دادن کاري است. مفهوم اين کد هم بدين گونه است که دستور چاپ را انجام بده و يک واحد به متغير اضافه کن ماداميکه متغير کوچکتر يا مساوي با عدد 10 بشود. پس اين دستورات حداقل يکبار اجرا مي شوند تا به شرط برسند، شما مي توانيد براي رسيدن به صحت اين گفته مقدار متغير را بجاي صفر به يک عدد ديگر تغيير دهيد مثلاً عدد 20 را بدهيد و يکبار کد را اجرا کنيد.
در اين مثال نوع ديگر افزايش هم نشان داده شده است که شما مي توانيد از اين مدل هم استفاده کنيد.
break
مثالهايي که در بالا ذکر شد همگي ساده بودند اما هنگاميکه شما نياز به نوشتن حلقه هاي پيچيده تري داريد، بايد دقت کنيد که حلقه شما دچار حلقه بي نهايت يا همان حلقه نامتناهي نشود. بطور مثال يک مقدار اوليه براي متغير در نظر مي گيريد و يک شرطي هم تعيين مي کنيد اما هيچگاه شرط حلقه درست نخواهد شد که حلقه از تکرار باز ايستد و همينطور اجراي کد ادامه پيدا مي کند تا خود کاربر آن را با بستن مرورگر متوقف کند و گاهي حتي مجبور به راه اندازي مجدد کامپيوتر خواهد شد.
براي جلوگيري از همچين اتفاقي مي توانيد از دستور break استفاده کنيد و يک شرطي هم براي آن در نظر بگيريد تا از حلقه هاي بي نهايت جلوگيري شود.
کد:
var i = 11
while (i >= 10)
{
document.write(" Number " + i + "<br />")
i++
if ( i == 21 ) break
}
در اين حلقه هيچگاه شرط درست نخواهد بود و تا بي نهايت ادامه پيدا مي کند اما با استفاده از دستور break و شرطي که در نظر گرفتيم از تکرار نا محدود اين حلقه جلوگيري کرديم در حقيقت از حلقه خارج شديم. پس استفاده از اين دستور را براي حلقه هاي پيچيده در نظر داشته باشيد تا با مشکلات جدي مواجه نشويد.
پنجره های ارتباط با کاربر popup boxes
سه نوع پنجره در جاوااسکريپت وجود دارند که مي توانيد توسط آنها پيغامي را در صفحه براي کاربر نمايش دهيد و يا اطلاعاتي براي تأييد آنها بفرستيد و يا اينکه اطلاعاتي را از آنها بخواهيد. آنها پنجره هاي کوچکي هستند که چون خيلي سريع در صفحه بالا آمده و در مقابل کاربر ظاهر مي شوند، به آنها popup گفته مي شود.
اين پنجره ها عبارتند از: پنجره alert ، پنجره confirm و پنجره prompt .
پنجره Alert
پنجره alert ، حاوي يک اخطاريه براي کاربر است که در آن هشداري داده مي شود تا کاربر متوجه کاري که مي کند باشد. دستور اين پنجره به صورت زير است:
alert (" text ")
اين پنجره فقط داراي يک دکمه OK است که کاربر بعد از خواندن آن اخطاريه با زدن دکمه ok ، پنجره را مي بندد.
کد:
<html>
<head>
<script type="text/javascript" type="text/javascript">
function alertbox ( ) {
alert ( " This is an Alert box! " )
}
</script>
</head>
<body>
<form>
<input type="button" onclick="alertbox ( )" value="Click here">
</form>
</body>
</html>
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
پنجره Confirm
اين مدل پنجره ، همانطور که از اسمش پيداست براي گرفتن تأييد از کاربر اجرا مي شود. اين پنجره داراي دو دکمه OK و Cancel مي باشد که با زدن دکمه OK توسط کاربر مقدار true بازگردانده مي شود و با زدن Cancel مقدار false برگردانده مي شود. دستور اين پنجره به اين صورت است:
اين پنجره براي مواقعي خوب است که شما نياز به جواب کاربر براي ادامه مطلبي يا چيزي داريد، در صورتيکه کاربر تأييد کند آن مطلب ادامه پيدا مي کند و در غير اينصورت همانجا متوقف خواهد شد.
کد:
<html>
<head>
<script type="text/javascript" type="javascript">
function confirmbox ( )
{
var button = confirm (" press a button.")
if (button == true)
{
document.write (" You pressed OK button. ")
}
else
{
document.write (" You pressed Cancel button.")
}
}
</script>
</head>
<body onload="confirmbox()">
</body>
</html>
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
در اين اسکريپت ما ابتدا يک تابع در قسمت head تعريف کرديم سپس دستور confirm را در يک متغير بنام button ذخيره کرديم تا بتوانيم براي اين متغير شرطي را تعيين کنيم. همانطور که گفتيم اگر کاربر دکمه OK را بزند، مقدار true برگردانده مي شود پس شرط را بر اين روال گرفتيم که اگر مقدار true بازگردانده شد متني در صفحه چاپ شود و در غير اينصورت متني ديگر نوشته شود. سپس اين تابع را در تگ بدنه و در رويداد onload قرار داديم تا به محض باز شدن صفحه پنجره confirm اجرا شود. رويداد onload را در بخش بعدي ياد خواهيد گرفت.
پنجره prompt
از اين پنجره زماني استفاده مي شود که شما نياز داشته باشيد تا اطلاعاتي را از کاربر دريافت کنيد و آنرا در جايي مناسب بازگردانيد. معمولاً اجراي اين پنجره هنگام باز شدن صفحه وب است و داراي دو قسمت يا دو پارامتر مي باشد:
کد:
prompt ( "text or question", " default value " )
در قسمت اول يک متن که معمولاً سؤال است را وارد مي کنيد تا در پنجره ظاهر شود و در قسمت دوم يک مقدار پيش فرض براي راهنمايي کاربر وارد مي کنيد که معمولاً آن قسمت را خالي مي گذارند تا کاربر آن مقدار را وارد نمايد. البته اگر هم شما مقدار پيش فرض را وارد نماييد، باز کاربر قادر به وارد کردن مقدار ميباشد.
کد:
<html>
<head>
<script type="text/javascript">
function promptbox ( )
{
var name=prompt("Please enter your name", "name...")
if (name!=null && name!="")
{
document.write("Hello " + name + " and welcome to this page.")
}
}
</script>
</head>
<body onload="promptbox()">
</body>
</html>
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
مانند مثال قبل عمل کرديم با اين تفاوت که اين بار از دستور prompt استفاده شده است. فقط به يک نکته دقت کنيد که در دستور شرط ما متغير name را نا مساوي با مقدار null قرار داديم. null به معني هيچ چيز ميباشد و در اينجا آنرا بکار گرفتيم تا اگر کاربر بعد از باز شدن پنجره دکمه cancel را زد و يا هيچ اسمي وارد نکرد تغييري در صفحه ايجاد نشود. شما مي توانيد يکبار آنرا حذف کنيد و نتيجه اجراي کد را ببينيد.
در حال حاضر شما سه نوع پنجره ارتباط با کاربر را فرا گرفتيد که دو مدل اول بيشترين کاربرد را در کدنويسي شما خواهند داشت.
رويدادها و حوادث Javascript Events
رويدادها و يا حوادث در جاوااسکريپت، کدهاي کوتاهي هستند که بين اقدامات انجام شده توسط کاربر مانند کليک کردن موس و اسکريپت، ارتباط برقرار مي کنند. يعني هنگاميکه کاربر بر روي دکمه هاي موس فشار مي آورد، رويدادها به اسکريپت اين موضوع را مي فهمانند تا اسکريپت براي آن حرکت عکس العملي در نظر بگيرد.
اين اقدامات شامل حرکاتي است مانند کليک کردن دکمه هاي موس، قرار گرفتن نشانگر موس بر روي يک نقطه از صفحه، فشردن کليدهاي کيبورد، انتخاب يا تغيير در اجزاي يک فرم، فشردن دکمه هاي فرم و يا باز و بستن يک صفحه وب.
در کل رويدادها باعث مي شوند تا جاوااسکريپت اينگونه حرکات را شناسايي و درک کند.
رويدادها مانند بقيه خصوصيات تگهاي اچ تي ام ال هستند که بايد در ميان تگها قرار گيرند و آنها را برابر با يک کد کوتاه جاوااسکريپت و يا اسم يک تابع تعريف شده بايد قرار داد.
رويداد و کد استفاده شده به صورت زير است:
کد:
<span onMouseOver="alert('Salam doost e man')">
در صفحات قبل با بعضي از رويدادها آشنا شديد و حالا در اينجا کليه آنها را ياد خواهيد گرفت. لازم بذکر است که، همه رويدادها در تمام مرورگرها اجرا نمی شوند.
رويدادهاي موس
زمانيکه مي خواهيد جاوااسکريپت نسبت به حرکات موس، عکس العمل نشان دهد از اين رويدادها استفاده مي کنيد. به سورس کد مثالها دقت کنيد تا با کاربرد آنها بيشتر آشنا شويد.
onClick براي کليک کردن دکمه چپ موس توسط کاربر. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onDblClick رويداد براي دوبار کليک دکمه چپ موس. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onMouseDown فشار آوردن بر روي دکمه چپ موس. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onMouseUp رها کردن دکمه موس پس از فشردن آن. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onMouseOver قرار گرفتن نشانگر موس بر روي يک چيزي. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onMouseOut خارج شدن موس از روي يک چيزي. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
رويدادهاي کيبورد
در اين رويدادها، جاوااسکريپت نسبت به فشردن يک کليد بر روي کيبورد توسط کاربر، عکس العمل نشان خواهد داد.
onKeyPress فشردن يک کليد کيبورد. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onKeyDown مانند رويداد بالا براي فشردن يک کليد.برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onKeyUp رها کردن يک کليد فشرده شده. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
رويدادهاي فرم
اين رويدادها مربوط به عملياتي است که کاربر بر روي اجزاي فرم انجام مي دهد. البته ممکن است بعضي از اين رويدادها بر روي متنهاي عادي در صفحه هم عکس العمل نشان دهند اما بيشترين کاربرد را در فرمها دارند.
onFocus هنگاميکه توسط موس و يا دکمه Tab کيبورد بر روي يکي از اجزاي فرم متمرکز شويد. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onBlur هنگاميکه تمرکز از روي يکي از اجزاي فرم خارج شود.برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onSelect انتخاب کردن يک متن در صفحه يا در يک فرم. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onChange تغيير در اجزاي فرم، مانند تغيير متن در کادر متني. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onSubmit فشردن دکمه تأييد يک فرم. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onReset فشردن دکمه reset يا همان پاک کردن اطلاعات فرم. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
رويدادهاي يک صفحه
يکسري از رويدادها هم مربوط به صفحات وب مي باشد، مانند لود شدن صفحه يا بستن آن.
onLoad تکميل شدن يک صفحه وب يا يک تصوير در مرورگر. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onUnload بستن مرورگر يا خروج از يک صفحه وب. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
onResize تغيير اندازه پنجره مرورگر. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
يک رويداد ديگر هست که مي توان هم براي يک صفحه و هم براي يک عکس بکار برد:
onError اين رويداد زماني اجرا مي شود که يک عکس به هر دليلي لود نشود يعني در جاي خود قرار نگيرد. برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
معمولاً براي رويدادها، ابتدا يک تابع تعريف مي شود تا هنگام نوشتن رويداد در يک تگ اچ تي ام ال، نظم برقرار باشد و از شلوغي تگ جلوگيري شود. بيشترين کاربرد اين رويدادها در تأييد اعتبار فرمها و پرسشنامه ها مي باشند که در يک بخش مجزا آنرا توضيح خواهم داد.
نکات مهم برای اسکريپت نويسی
قسمت مقدماتي آموزش جاوااسکريپت به پايان رسيد و همانطور که مشاهده کرديد دستورات اين زبان، توضيح داده شد تا با استفاده از آنها بتوانيد اسکريپتهايي براي صفحات وب خود بنويسيد و يا اگر با اسکريپتي برخورد کرديد، کاملاً آنرا درک کنيد و مطابق نياز خود آن را اصلاح کنيد. فراموش نکنيد که اين دستورات و کدها را مرتب تمرين کرده و اسکريپتهاي جديد و ساده براي خود بسازيد تا اين زبان در ذهن شما قرار گيرد. بهترين راه به خاطر سپردن دستورات جاوااسکريپت خلق کدهايي براي خودتان و ديگران است.
هرگاه خواستيد که اسکريپتي خلق کنيد، ابتدا آنرا در ذهن خود بررسي کنيد که اين اسکريپت چه کاري بايد انجام دهد و چه نتيجه اي را مي خواهيد از آن بگيريد، سپس افکارتان را روي کاغذ پياده کنيد با جزئيات کامل که چه اطلاعاتي را بايد دريافت کنيد و توسط چه دستوراتي آنرا پيش ببريد و در آخر چه نتيجه اي بايد بدهد.
هنگام خلق يک اسکريپت نکاتي را بايد در نظر داشته باشيد:
سعي کنيد بعد از هر خط علامت ; را بگذاريد تا پايان آن خط مشخص شود.
کد:
document.write ( " text string " );
document.write ( myFunction ) ;
جاوااسکريپت case sensetive است يعني به حروف کوچک و بزرگ حساس است و بين آنها فرق مي گذارد. در جاوااسکريپت myFunction با myfunction تفاوت دارد.
دقت کنيد کليه علامتها مانند پرانتز، آکلاد و کروشه در هر جا که مي نويسيد بايد دوباره آنها را ببنديد.
جاوااسکريپت فاصله هاي اضافي را در نظر نمي گيرد، پس شما مي توانيد براي خوانا بودن کد خود فاصله هايي را اضافه کنيد. دو خط زير تفاوتي با هم ندارند:
کد:
var name="value";
var name = " value " ;
در نظر داشته باشيد که يک خط کد جاوااسکريپت حتماً بايد در يک خط نوشته شود و نمي توانيد ادامه آنرا در خط بعدي بنويسيد، مگر اينکه به انتهاي صفحه برسيد و خود به خود به ابتداي خط بعد هدايت شويد. اما در ميان رشته هاي متني با گذاشتن علامت \ مي توانيد به خط بعد رفته و ادامه دهيد.
کد:
document.write ( " Hello \
my friends! " ) ;
شما مي توانيد جلوي کدهاي خود يک توضيح و يا يک نظريه را وارد کنيد تا براي مراجعتهاي بعدي يک سر نخي داشته باشيد و سريع متوجه بشويد که آن قسمت از اسکريپت، چه کاري را انجام مي دهد و يا اينکه شما يک اسکريپت براي يک فرد مبتدي مي سازيد و مي خواهيد بعضي از قسمتهاي کد را توضيح دهيد که براي اين منظور ها مي توانيد در هر خط از اسکريپت که مي خواهيد علامت // گذاشته و سپس آن توضيح را بنويسيد.
کد:
document.write( " text " ) ; // your comment
اگر هم نظريه يا توضيح شما بيشتر از چند کلمه است مي توانيد به صورت زير عمل کنيد:
کد:
/* This is a comment
block. It contains
several lines */
لازم بذکر است که اين توضيحات و نظريات در صفحه نمايش داده نمي شوند.
در حال حاضر کليه مرورگرها از جاوااسکريپت پشتيباني مي کنند ولي بعضي ممکن است از مرورگرهاي قديمي استفاده کنند و يا مرورگرهايي که قابليت جاوااسکريپت را نداشته باشند، بکار برند. در اين حالت شما يک تگ بعد از مجموعه اسکريپت خود به تگهاي اچ تي ام ال صفحه اضافه مي کنيد به اسم noscript و متني را داخل آن مي نويسيد تا به آن کاربر نشان داده شود و کاربر از کدهاي جاوااسکريپت آن صفحه با خبر شود.
کد:
<script language="javascript" type="text/javascript">
javascript code......
</script>
<noscript> Your browser does not support javascript.</noscript>
پایان آموزش