متن شما در استاتوس بار روشن و خاموش می شود
رقص متن در استاتوس بار
رقص متن در استاتوس بار
رقص متن در استاتوس بار
رقص متن در استاتوس بار
متن را در جایگاه نوشته و بازدن دکمه , آن را در استاتوس بار ببینید
رقص متن در استاتوس بار
رقص متن در استاتوس بار
نوشتن متن در کنار موس
نمایش متن به صورت زیبا
شروع متن با یک رنگ و پایان آن با یک رنگ دیگر
آمدن متن به صورت افکتی زیبا در صفحه
آخرین تاریخ بازنشاندن صفحه
با آوردن موس بر روی لینک متن شما در زیر آن ضاهر می شود
متن های پشت سر هم به صورت پیغام
تغییر رنگ متن به صورت مداوم
سلامی دوباره به شما دوستان عزیز امروز هم من با ۱۶ کد جاوا امدم این دفه موضوع خواستی نیستش که توضیح بدم کدها امروز انگ و با رنگ خودمونی بگم در هم. راستی بچه ها امورز سوتی نویس عزیزم میره مشهد و من یه چند روزی تنها میشم ولی بهم قول داده که از اونجا آن لاین بشه به هر حال ایشالاه به سلامتی برو و سلامت هم بر گرده تازه دعا هم یادش نره دیگه سرتونو درد نمیارم برید کدها رو ببینید:
نمایش لینک به صورتی زیبا
از بین بردن آندرلاین از زیر لینکها
توضیحات لینک و اجرای آن
اجرای لینک با عبور موس از روی آن در پنجره جدید
باز شدن پنجره ای کوچک همراه با پنجرهء اصلی
اجرای لینک با عبور موس از روی آن در همان پنجره
با نگاه داشتن موس بر روی لینک توضیحات به صورت یک پنجرهء جدید ظاهر می شود
پیغام های پشت سر هم
متن شما به صورت متحرک در استاتوس بار نمایش داده می شود
با نگاه داشتن موس بر روی تصویر متن شما در استاتوس بار ظاهر می شود
با کلیک بر روی دکمه ها پنجرهء توضیحات ظاهر می شود
آمدن پیغام به هنگام خروج از صفحه
با کلیک بر روی لینک پشت صفحه سیاه می شود
از شما نامتان و رنگ مورد علاقه را می پرسد و به نام شما خوش آمد می گوید
موس و صفحه کلید
موس و صفحه کلید، به عنوان گیرندههای رایانه هستند که به وسیله آنها مطالب را وارد میکنیم. مثلا برای نوشتن این متن، از صفحه کلید استفاده کردم. حرف ت را فشردم، تا در این صفحه، نوشته شد. البته میان فشردن کلید و نوشته شدن در صفحه - که بلافاصله انجام میشود - عملیاتی انجام میگردد که از دید ما پنهان است.
هر کلید، یک کد عددی دارد که با فشرده شدن، از صفحه کلید به بخش مربوطه در رایانه، فرستاده میشود. آنجا بعد از پردازش، تبدیل به حرف معادل آن کد شده، و در متن، نمایش داده میشود. اگر این روند را خوب درک کنیم، میتوانیم بدون استفاده از صفحه کلید، تایپ کنیم؛ فقط کافی است بدانیم که دستورات لازم آن چیست.
استخراج کُد کلید (Key Code)
• صفحه کلید
استخراج کُد کلید (Key Code)، کار راحتی است. در زبان جاوا اسکریپت، برای به دست آوردن آن، از این دستور استفاده میشود: «window.event.keyCode»
تمرین
برنامهای بنویسیم که کد هر کلید را در یک جعبه متن، نشان دهد.
//***صفحه کلید
function funKeyCode(){
var key = window.event.keyCode;
inCode.value = key;
}
document.onkeypress=funKeyCode; // تنظیم رویداد
در قسمت بدنه، جعبه متنی قرار دهید که محل نمایش کد باشد.
<input name="inCode" type="text" value="" size="5" readonly>
کد هر کلیدی را که فشار دهید، اینجا نوشته میشود:
• موس
موس نیز مانند صفحه کلید عمل میکند؛ منتها دارای کلیدهای کمتری است. از این کد «window.event.button» میتوانید برای استخراج کد کلید موس، استفاده کنید.
تمرین
برنامهای بنویسیم که کد هر کلید را در یک جعبه متن، نشان دهد.
//***کلیک موس
function funClick()
{
if (document.all)
{
if (window.event.button)
{
inButton.value = window.event.button;
return false;
}
}
}
document.onmousedown=funClick; // تنظیم رویداد
در قسمت بدنه، جعبه متنی قرار دهید که محل نمایش کد باشد.
<input name="inButton" type="text" value="" size="5" readonly>
کُد کلیک موس :
ادامه دارد ...
به امید دیدار
خدانگهدار
دستور زبان
(آیین نگارش)
سلام
تعجب نکنید. نه شما اشتباه آمدید، و نه من اشتباه نوشتم. موضوع، همان برنامهنویسی است. این جلسه، اختصاص دارد به یک بحث مختصر و مفید، که از ظرافت بالایی برخورددار است؛ همان ظرافتی که یک نویسنده، در نوشتن مقالات و داستانهای خود، به خرج میدهد. چه از لحاظ دسته بندی و مرتب بودن فصول و ابواب، و چه از لحاظ فهرست بندی، و چه از لحاظ مراعات قواعد دستوری و آیین نگارش.
بعد از این همه تلاش و تمرین، لازم است بدانیم چگونه برنامهای بنویسیم که کمترین عیب و ایراد را داشته باشد. این مبحث - جز موارد خاصی - در میان زبانهای برنامهنویسی، عمومی بوده و اختصاصی به جاوا اسکریپت ندارد.
1- غلط املایی
هنگام ملاحظه تمرینات دوستان، که برایم ارسال کردهاند، متوجه این نکته شدم که قسمتی از اشتباه آنان، مربوط به غلط املایی میشود. دستورات، مرتب و صحیح، نوشته شده بود، اما وجود یکی دو غلط املایی، مانع اجرای صحیح برنامه میشد. مثلا
در نوشتن window، دقت کنید. ویندو، به صورت مفرد است. با نام سیستم عامل ویندوز، اشتباه نگیرید.
یا document و Mouse، جای حروف o و u را اشتباه نکنید.
یا کلماتی که از لحاظ املایی، نزدیک هم هستند؛ مانند white (سفید) with (با) While (حلقه).
2- کلمات رزرو شده و کلیدی
خیلی از کلمات برنامهنویسی، کلمات رزرو شده هستند؛ یعنی کلماتی که از قبل در آن زبان، مورد استفاده قرار گرفته و دارای معنای خاصی هستند. از این کلمات نمیشود به عنوان نام چیز دیگری، مانند تابع، استفاده کرد. در صورت عدم مراعات این قاعده، برنامه شما، دچار مشکل میشود.
3- کلمات کلیدی
در نوشتن این کلمات، خیلی دقت کنید؛ مخصوصا در بزرگ و کوچک بودن حروف. این قاعده کلی را در مورد جاوا اسکریپت، به یادگار داشته باشید: همه متد و دستورها، در جاوا اسکریپت، با حرف کوچک، نوشته و شروع میشود؛ الا موارد خاصی مانند Array. البته شاید یک کلمه ترکیبی باشد؛ چون همیشه اینگونه نوشته میشود new Array.
4- دستورات ترکیبی
یعنی دستوراتی که از دو یا سه کلمه، تشکیل شدهاند. مانند setTimeout, onMouseover که از سه کلمه، ترکیب شدهاند. اولین کلمه این دستورات، با حرف کوچک شروع شده، و دومین کلمه، با حرف بزرگ.
5- نام گذاری
در زبانهایی مانند ویژوال بیسیک، در نامگذاری اشیاء، دقتی به خرج داده میشود، که در زبانهای وب، ندیدهام. به روشی که عرض میکنم توجه نموده و از آن استفاده کنید.
اسم بیمسمّی شنیدهاید؟ اسمی که با شخص یا شیی نامیده شده، سنخیتی ندارد؛ مثل اینکه به یک سگ سیاه، بگوییم سفید برفی. اسمی که برای اشیا یا دستورات خود، انتخاب میکنید، باید جنس و کار آن را نشان دهد.
مثلا میخواهم تابعی بنویسم که مطالب یک فرم را ارسال کند. نام دکمه ارسال را btnSubmit گذاشته، و نام تابع را funSubmit میگذارم.
btn = مخفف button (دکمه)
fun = مخفف function (تابع)
استفاده از مخفف نوع اشیا، در راهنمایی شما یا کسانی که از برنامهیتان بازدید میکنند، بسیار کمک میکند. مطمئن باشید در آینده نه چندان دور، که به برنامه خود مراجعه میکنید، حافظه، شما را یاری نخواهد نمود تا جزئیات را به خاطر بیاورید. آنگاه مجبور خواهید شد مانند غریبهها، از اول، کل برنامه را مطالعه کنید.
6- مرتب نویسی
کدها باید طوری نوشته شود که خوانا و واضح باشد. شاید در برنامههای کوتاه، ضرورتی برای این کار دیده نشود؛ اما در کدهای عریض و طویل و پیچیده که از دهها تابع ساخته شدهاند، این امر، ضروری است.
به ترتیب و چینش این کدها دقت کنید:
<script>
function funForm()
{
if (Form1.Name.value == '');
{
alert ('پیام');
Form1.Name.focus();
return false;
}
}
</script>
رعایت سر شاخه و زیر مجموعه، در این برنامه، نمایان است. یک مجموعه داریم که تابع ما است. داخل آن تابع، یک شرط نوشته شده، و داخل آن شرط، چند دستور. با فاصله دادن آنها از کناره سمت چپ صفحه، آنها را از هم مجزا میکنیم. به قرار گرفتن کُروشهها، دقت کنید.
7- پایان دستور
در پایان هر دستور، از نقطه ویرگول (;) استفاده کنید. هرچند در جاوا اسکریپت، این کار ضرورتی ندارد؛ اما مراعات آن، ضرری ندارد. نه تنها پایان هر دستوری را مشخص میکند، بلکه ما را در زبانهای دیگر - مانند php که این کار لازم است - آماده میکند.
به امید دیدار
خدانگهدار
فـُرم
سلام
تغییرات:
- در همین جلسه، تغییراتی داده شده. (سهشنبه 20 اردیبهشت)
- در جلسه 7، تغییراتی داده شد. (پنجشنبه 25 فروردین)
اینبار به مقولهای میپردازیم که هم کاربردی است و هم محلی برای تمرین دروس قبلی.
اگر به خاطر داشته باشید، گفته شد که قسمتی از برنامه نویسی، با دادههایی سر و کار دارد که از کاربران، دریافت میشود. دریافت اطلاعات، راههای مختلفی دارد که مهمترین و معروفترین آنها، استفاده از فرم است.
روزانه، فرمهای مختلفی را پر میکنیم. فرم ثبت نام در یک اداره، فرم باز کردن حساب در بانک، فرم ثبت نام در قرعهکشی، و ... . حتما در اینترنت هم با امثال این فرمها، روبرو شدهاید. مثلا فرم عضویت در یک پایگاه، فرم ثبت یک ایمیل در یاهو، فرم ارسال نامه، یا مثلا فرم نظرخواهی همین وبلاگ. آیا تا به حال، به طرز کار این فرمها فکر کردهاید؟ برای شما که یک برنامهنویس هستید، توجه به ساختمان و ماهیت فرم - و اشیاء دیگر - لازم است.
«پایگاههای وب، از فرمها برای منظورهای مختلفی استفاده میکنند. از قبیل: ثبت نام کردن کاربران، و یا ورود آنها به فضاهای خاص وب (Login)، دریافت نظرات و فرمهای نظرسنجی، و یا خرید و فروش آنلاین.»
ساختمان فرم
هر فرمی، عملیات خود را - که دریافت و ارسال داده باشد - در سه بخش، انجام میدهد.
با توجه به این تقسیم بندی، وظیفه جاوا، مشخص شده و دقیقا میدانیم که از او چه میخواهیم.
داخل پرانتز:
با توجه به مطالبی که گفته شد، بدیهی است که از بعضی از فرمها نمیشود در وبلاگ استفاده کرد؛ یا حتی در سایتهایی که فضایشان را به صورت رایگان، تهیه کردهاند؛ چون اینگونه فضاها، اجازه نوشتن و اجرای زبان سروری را نمیدهند.
اجزای فرم
فرمها، بسته به نیاز ما، میتوانند ساده یا پیچیده باشند. کمترین حد فرم، یک جعبه متن و یک دکمه ارسال (Submit) است؛ همانند فرم ثبت نامی که در همین وبلاگ، قرار دادهام.
دکمه Reset که یک دکمه اختیاری است، برای پاک کردن فرم است. این سادهترین شکل فرم است.
اسکلت فرم (کد HTML)
<form method="post" action="test.htm" name="Form1" onSubmit="return funForm()"><!-- شروع فرم -->
نام:
<input type="text" value="" name="Name"><!-- جعبه متن -->
<input type="submit" value="Submit" name="B1"><!-- دکمه ارسال -->
<input type="reset" value="Reset" name="B2"><!-- دکمه پاک کردن -->
</form><!-- پایان فرم -->
method = نوع ارسال اطلاعات را معین میکند، که دو نوع است: post, get. این دو روش با تفاوتهایی، عملیات ارسال را انجام میدهند. روش پُست، عمومیتر است و از لحاظ امنیتی، برتری دارد. اگر متد را ننویسید، از پُست، استفاده میشود.
action = محلی را نشان میدهد که اطلاعات، برای پردازش، به آنجا ارسال خواهد شد؛ یعنی آدرس یک صفحه است، که در اینجا برای مثال، test.htm را انتخاب کردهام.
name = نام فرم.
onSubmit = یک رویداد است. تابعی را که در جاوا اسکریپت، نوشتهاید را صدا میکند.
فراموش نکنید که برای هر جزء، نامی بگذارید. تا اینجای کار، اسکلت و ظاهر فرم، ساخته شده است.
خطایابی (کد جاوا)
• از این به بعد، به بخش خطایابی میپردازیم. اول باید در نظر بگیریم که خطا از نظر ما چیست.
- مثلا در یک فرم ارسال ایمیل، نباید آدرس ایمیل غلط باشد.
- یا مثلا متنی که نوشته میشود، نباید بیشتر یا کمتر از فلان حد باشد.
- یا موردی که باید نوشته و مشخص شود، خالی مانده.
پس باید طوری برنامه نویسی کنیم که مانع انجام این اشتباههات بشویم.
• در فرم ساده ما، خطا، زمانی است که اسمی نوشته نشود، و فرم خالی ارسال شود. پس باید با کمک جاوا بنویسیم که اگر فیلد نام، خالی بود، مانع ارسال فرم شده و پیام بدهد.
<script>
function funForm()
{
if (Form1.Name.value == '')
{
alert ('نام خود را بنویسید!');
Form1.Name.focus();
return false;
}
}
</script>
ارسال و ذخیره اطلاعات
بعد از دریافت صحیح اطلاعات، باید آن را به جایی که قرار است ذخیره شود، بفرستیم. در اینترنت، به چند صورت میشود اطلاعات را ذخیره نمود.
استفاده از بانک اطلاعاتی، مناسبترین روش است که معمولا اطلاعات فرمها، به آن ارسال میشود؛ اما
• به امید خدا بعد از پایان درس جاوا اسکریپت، اگر دوستان علاقمندی باشند، به بحث درباره یکی از زبانهای سروری (asp, php) خواهیم پراخت؛ حداقل تا جایی که بتوانید خودتان یک بانک را ساخته و اطلاعاتان را در آن ذخیره کنید.
• ظاهرا بحث فرم - تا آنجا که به جاوا مربوط میشده - در اینجا به پایان رسیده است. این جلسه، هدیهای به دوستان عزیزی که تقاضای درس عملی و کاربردی را داشتهاند. در پایان، شما را با عناصر دیگری که ممکن است در فرم، استفاده شوند، آشنا میکنم.
واژهنامه
Get - Post = تفاوت بین این دو، در چگونگی ارسال اطلاعات از فرم، به اسکریپت پردازشگر است.
عناصر فرم
• همیشه پاسخها، به صورت تشریحی نیست. گاهی اوقات، تستی بوده و جوابهای از پیش تعریف شده دارد. مثل سوال از جنسیت کاربر، یا شهر محل سکونت. در این موارد، باید از عناصر دیگه فرم استفاده نمود؛ مانند چک باکس، یا دکمه رادیویی.
ComboBox-JumpMenu - فهرست آبشاری
ListBox - لیست باکس
ListBox-Multiple - لیست باکس چند انتخابی
Button-Image - دکمه عکسی
File - دریافت فایل
Text - متن
Password - پسورد
Hidden - متن مخفی
TextArea - متن زیاد
به امید دیدار
خدانگهدار
سلام
سلام دوباره به همه دوستانی که منو در پایگاه قبلی، همراهی کردند. چه میشه کرد؛ سال جدید و خونه تکونی. امان از درد مستاجری. اونجا صابخونه ما رو جواب کرد. دنبال یک جای مناسب میگشتم. اومدم بنگاه بلاگفا که خونه بگیرم؛ اما چشمتون روز بد نبینه. اتاق خالی نداشت. همه پر بودند. البته خالی بود ولی در شان ما نبود. آخه وبلاگ آشپزی به چه کار من میاد. برای همین مجبور شدم، آدرسم رو کمی تغییر بدم. به جای JavaScript (که فعلا در اختیار دوست عزیزم در پایگاه ایران جاوا اسکریپت است)، شده JScript.
باور کنید این مقاله رو خیلی وقته که نوشتم و آماده کردم؛ ولی امان از دست این آمریکای چیزخوار. چشم نداره که پیشرفت ما رو ببینه. هی میزنه پرشین بلاگ رو خراب میکنه و نمیذاره مطلب جدید بنویسم. منم که دیدم این جوریه، گفتم به کوری چشم آمریکا، باید یک جای مناسب پیدا کنم. یکی از جاهایی که مناسب دیدم، همین جاست که الان واستادیم. شاید هم برم جای دیگه. نه به اون روز که هیچ جا نداشتیم که بنویسیم، نه به امروز که ... .
تغییرات:
1- در همین درس، تغییراتی داده شده.
2- واژه نامه در "یک پروژه" کاملتر شد.
3- جلسه 6، شرط، کاملتر شد.
حلقه (زنجیره)
• در زندگی، بعضی چیزها تکرار میشوند؛ هر روز و هر شب؛ و گاهی هر لحظه؛ مثل نفس کشیدن. کارهایی که حلقه وار انجام میشوند یا انتها و عمر محدودی دارند، و یا بیانتها و نامحدودند؛ مانند شب و روز. چون برنامهنویسی، اقتباسی از زندگی انسان است، و قرارست در خدمت ما باشد، از این قاعده مستثنی نیست.
تعریف حلقه
• « یکی دیگر از ویژگیهای مفید جاوا اسکریپت و همچنین سایر زبانهای برنامه نویسی، توانایی ایجاد حلقههای تکرار، یا اجرای گروهی از دستورالعملها به صورت تکراری است. این، یکی از کاراهایی است که رایانهها قادرند تا به خوبی آنها را انجام دهند، و آن چیزی نیست جز انجام کارهای تکراری با دقت بالا. در برنامههای اسکریپت، از حلقههای تکرار به عنوان یک ابزار قوی و مهم، استفادههای فراوانی میشود. » کتاب "خود آموز جاوا اسکریپت در 24 ساعت"
ادات حلقه
• از روشهای مختلفی برای ایجاد حلقه، استفاده میشود.
1. for
2. While
3. do ... while
معروفترین ابزار حلقه، for است.
ساختمان حلقه for
• ساختمان حلقه، شبیه یک زنجیر است که از تعدادی حلقه، ساخته شده است.
for (Counter; Condition Expression; step)
{Code}
حلقه for، از چهار جزء، تشکیل شده است. همانطور که میبینید، دارای سه پارامتر است که داخل پرانتز ( ) قرار گرفتهاند و با سمی کالن (;) از هم جدا میشوند؛ و یک جواب، که حاوی کد مورد نظر ما بوده، و داخل یک کروشه { } قرار میگیرد.
1. ابتدای حلقه: a = 0. این عدد، شروع و ابتدای حلقه را معیّن میکند.
2. انتهای حلقه: a < 10. این عدد، حداکثر و انتهای حلقه - به عبارت دیگر، تعداد تکرار دستورات - را مشخص میکند.
3. افزایش یا کاهش: این پارامتر، مشخص میکند که حلقه، در هر بار اجرا، یک واحد زیاد شود یا کم.
4. جواب حلقه: حلقه، بی شباهت به شرط نیست. به عبارت دیگر: اگر متغیر ما (a)، از 0 تا 10 تداوم داشت، نمایش پیام، ادامه داشته باشد.
نکته: اگر حلقه، تنها شامل یک جواب باشد، - مانند شرط- نیازی نیست که آن را درون علامت کروشه { } قرار دهیم.
مثال: دستورالعمل زیر، پیامی را 10 مرتبه، جهت توجه بیشتر کاربر، نمایش میدهد:
for (a = 0; a < 10; a++)
{
document.write ("پیام" + a); // جواب حلقه
}
تمرین: به نظر شما آیا میتوان این حلقه را به صورت شرطی هم نوشت؟ منتظر پاسخ عملی شما هستم.
ساختمان حلقه while
حلقه while از لحاظ اجزاء تشیکل دهنده، فرقی با حلقه for نداری؛ اما از لحاظ ترکیب و محل قرار گرفتن آنها، متفاوت است.
var a = 0;
while (a < 10)
{
document.write ("پیام", a ,"<br>");
a++;
}
همانطور که میبینید، متغیر، قبل از while، تعریف شده، و داخل پرانتز، یک پارامتر قرار گرفته. پارامتر افزایش هم بعد از کد، نوشته شده. به محل قرار گیری این پارامتر دقت کنید؛ چون اگر قبل از دستور، نوشته شود، معنای دیگری میدهد و کمی در نتیجه کار، تغییر ایجاد میکند.
ساختمان حلقه do ... while
var a = 0;
do
{
document.write ("پیام", a );
a++;
}
while (a < 10);
توجه دارید که برای درک راحت این مفاهیم، فقط اسکلت و شکل ساده آنها را نوشتهام. شما میتوانید با مراجعه به کتاب و سایتهایی که معرفی شد، با اشکال مختلف آنها آشنا شوید.
اهمیت حلقه
• اهمیت حلقه را به مرور و در طی برنامههای عملی پی خواهید برد. فعلا عرض میکنم اگر به شباهت حلقه و شرط دقت کنید، متوجه اهمیت آن نیز خواهید شد. حداقل فایده حلقه، اختصار در کدنویسی است. مثلا به جای اینکه ده مرتبه یک عبارت را بنویسید، اینکار را با دستور ساده حلقه، به راحتی میتوانید انجام دهید.
کاردستی1: ساخت جدول ضرب، با حلقه
ابتدا لازم است بدانید که چگونه یک جدول (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>
کاردستی2: اسکرول صفحه (حرکت صفحه از بالا به پایین)
شرح عملیات: ساخت این برنامه، بسیار ساده و راحت است.
. مواد لازم برای آن، یک حلقه، و یک متد اسکرول صفحه است، که در یک تابع قرار میدهیم.
. یک تابع (funDown) برای پایین رفتن، و یک تابع (funUp) برای بالا آمدن. این توابع، به صورت مستقل، اجرا میشوند.
. در قسمت بدنه، دو دکمه (یا چیزی شبیه آن) قرار میدهیم. یکی برای فعال کردن تابع اول، و دیگری برای تابع دوم. به هنگام کلیک بر روی دکمهها، توابع، اجرا میشوند؛ یعنی باید از رویداد onClick استفاده کنیم.
کد:
<script>
function funDown() // تابعی که صفحه را به طرف پایین میبرد
{
for (a = 1; a <= 600; a++) // حلقهای که افزایش دارد
{
window.scroll (1, a); // متد اسکرول صفحه
}
}
function funUp() // تابعی که صفحه را به طرف بالا میبرد
{
for (a = 600; a >= 1; a--) // حلقهای که کاهش دارد
{
window.scroll (600, a);
}
}
</script>
• برای دیدن نمونه عملی آن، اینجا کلیک کنید.
واژه نامه: این اصطلاحات را به خاطر داشته باشید؛ چون در برنامه نویسی، کاربرد دارد.
Table = جدول. <table>
Row = سطر، ستون افقی. <tr>
Cell = سلول، خانههای جدول. <td>
window = شی صفحه است، که دارای متدهای مختلفی است.
window.scroll = متد اسکرول صفحه. داخل پرانتز، دو پارامتر دارد که دو عدد هستند که موقعیت صفحه را نشان میدهند. اولی، موقعیت فعلی صفحه؛ دومی، موقعیتی که باید به آنجا برسد.
window.scrollTo - window.scrollBy = دو متد دیگر از parent هستند. با تمرین، به دست آوردید که چه کاری انجام میدهند.
parent = معادل window است و در مورد اسکرول، میتواند به جای آن قرار گیرد.
به امید دیدار
خدانگهدار
ساعت
سلام
تغییرات:
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: با این دستور، متن یک تگ در قسمت بدنه - مانند محتویات تگ پاراگراف - نمایش داده میشود؛ و میتوانیم آنرا تغییر داده و ویرایش کنیم.
outerHTML - innerHTML - outerText: این 3 متد، شبیه دستور قبلی است؛ البته با کمی تفاوت.
setTimeout: دستور تایمر و زمان شمار است. بعد از آن، یک جفت پرانتز، قرار دارد که داخلش، دو پارامتر نوشته میشود:
1. اسم چیزی است که قرار است اجرا شود؛ مانند یک تابع.
2. زمانی که تایمر در آن فعال خواهد شد. واحد زمان، میلی ثانیه است. (1000 = یک ثانیه)
setInterval: دستور تایمر و زمان شمار است. مانند دستور قبل، عمل میکند.
به امید دیدار
خدانگهدار
آرایه
سلام
داخل پرانتز: همگی خسته نباشید. اجازه بدهید قبل از اینکه درس جدید را شروع کنم، صحبتی داشته باشم. به دوستان جدیدی که به جمع ما پیوستهاند، خوش آمد میگویم. امیدوارم چیزهای کمی که میدانم به درد شما بخورد. به دوستان قدیمی خسته نباشید گفته و یک گلایه هم دارم. سوالی که در جلسه قبل کردم، بیجواب ماند.
بیشتر از یک هفته است که درباره موضوعی مطالعه میکردم، به نام کوکی (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])
برای صدا کردن هر شهر، کد آنرا بنویسید.
تمرین: انتخاب یک گزینه از فهرست.
این برنامه را در قسمت بدنه صفحه خود، کپی کنید:
معرفی پایگاه
این پایگاه انگلیسی زبان، جاوا اسکریپت را در جلسات منظم، ساده و با مثال، آموزش داده است.
• 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 | طول (تعداد) حروف |
17
abcdefghijklmnopq
ABCDEFGHIJKLMNOPQ
abcdefghijklmnopq
abcdefghijklmnopq abcdefghijklmnopq
abcdefghijklmnopq
cdef
cdefgh
e
bbcdefghijklmnopq
2
-1 |
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 ();
مثال: قرار است - با توجه به مطالب این درس و درس قبل - برنامهای بنویسیم که زمان را به ما نمایش دهد.
وسایل مورد نیاز:
کد اسکریپت | |
متد زمان | new Date (), toLocaleString() |
متد نوشتن | document.write ( ) |
با استفاده از این وسایل و از روشی که گفته شد - دریافت داده - پیش میرویم.
واژه نامه new Date: متدِ زمان به صورت کلی و مطلق است. بعد از آن باید نوع زمان خود را مشخص کنید؛ یعنی چه قسمتی از زمان را میخواهید بدانید؛ سال، ماه، هفته، روز و ... . به تنهایی چیزی را نشان نمیدهد. • این هم یک هدیه، برای شما دوستان. دستور و متدهای زمان. در آینده با آنها بیشتر آشنا میشوید. متدهای زمان Wednesday, June 22, 2005 11:39:00 مجید
Wednesday, June 22, 2005
11:39:00 مجید
Wed, 22 Jun 2005 19:09:00 UTC
2005
5
3
22
23
39
0 Tue Jun 14 00:13:47 UTC+0430 2005
14. kesäkuuta 2005 0:13:47
14. kesäkuuta 2005
0:13:47
Mon, 13 Jun 2005 19:43:47 UTC
2005
5
2
14
0
13
47 Tue Jun 14 00:06:37 UTC+0430 2005
14. kesäkuuta 2005 0:06:37
14. kesäkuuta 2005
0:06:37
Mon, 13 Jun 2005 19:36:37 UTC
2005
5
2
14
0
6
37 جدول شماره 4
پاورقی: زمان، دارای اجزا مختلف است؛ یعنی انسان، آنرا به بخشهای مختلف تقسیم کرده تا قابل استفاده باشد. قسمتی از آن، تاریخ (سال، ماه، هفته و روز) نام دارد، و قسمتی از آن، به اجزا کوچکتر (ساعت، دقیقه و ثانیه) تقسیم شده، و ساعت، نامیده میشود. البته معیار تاریخ در برنامه نویسی، میلادی است. برای تبدیل به شمسی یا قمری، باید از برنامه نویسی استفاده کنید. تمرین در مثال قبل، میتوانید به جای toLocaleString، از متدهای دیگر استفاده کنید. پیشنهاد میکنم هر کدام از آنها را به صورت جداگانه در document.write، قرار داده و نتیجهاش را ببینید. به امید دیدار
toLocaleString: متدی برای به دست آوردن زمان کامل (تاریخ و ساعت) است که به عنوان خصوصیت، برای زمان کلی استفاده میشود.
document.write: متدی که برای نوشتن متن در صفحه استفاده میشود.
document.writeln: مانند دستور قبلی عمل میکند؛ با این تفاوت که یک فاصله تا رشته قبلی، ایجاد میکند.
; : به این علامت، سِمی کالـِن گفته میشود که در پایان هر دستور، میآید؛ هر چند در جاوا، اجباری نیست.
// : به این علامت، کامنت (Comment) گفته میشود که برای نوشتن توضیح، در میان کدهای برنامه نویسی است. هر عبارتی که بعد از این علامت بیاید، توسط برنامه، خوانده و اجرا نمیشود و صرفا ً توضیحی است که برنامه نویس، یادداشت کرده.
new Date ()
زمان
Wed Jun 22 23:39:00 UTC+0430 2005
toLocaleString ()
زمان کامل
toLocaleDateString ()
فقط تاریخ
toLocaleTimeString ()
فقط ساعت
toGMTString()
زمان بین المللی
getYear()
سال
getMonth()
ماه
getDay()
روز هفته
getDate()
روز ماه
getHours()
ساعت
getMinutes()
دقیقه
getSeconds()
ثانیه
خدانگهدار
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 که در همه زبانها، موجود است - ولی در نوشتن، تفاوتهایی دارد.
به امید دیدار
خدانگهدار
شرط (2)
2. شرط switch
• switch از ادات دیگر شرط است که کارایی بالایی دارد، و مانند if عمل میکند؛ هر چند از لحاظ ترکیب، تفاوت دارد. این شرط، زمانی به کار میآید که مجبور باشیم از چندین شرط، به صورت پی در پی استفاده کنیم. در جلسه قبل، با اَشکال مختلف شرط if آشنا شدید. switch میتواند به جای انواع پیچیده آن، به کار گرفته شود.
ساختمان switch
switch (متغیر)
{
case 1: مشروط ; break;
case 2: مشروط ; break;
case 3: مشروط ; break;
case 4: مشروط ; break;
case 5: مشروط ; break;
default: break;
}
تمرین
میخواهیم برنامهای بسازیم که در هر روز از هفته، یک پیام دهد. این برنامه، بسیار مهم و پرکاربرد است. با آن میتوانید مثلا برای خود یک تقویم بسازید که مناسبتهای هر روز را به شما نشان دهد؛ یا یک برنامه که هر روز، یک حدیث، شعر یا جملات زیبا را بنویسید.
کد:
var Now = new Date()
var Week = Now.getDay()
switch (Week)
{
case 0 : alert("یکشنبه");
break;
case 1 : alert("دوشنبه");
break;
case 2 : alert("سهشنبه");
break;
case 3 : alert("چهارشنبه");
break;
case 4 : alert("پنجشنبه");
break;
case 5 : alert("جمعه");
break;
case 6 : alert("شنبه");
break;
default : break;
}
تحلیل
این شرط، این معنی را دارد: روز هفته، اگر 1 بود، پیام بده "دوشنبه"؛ اگر 2 بود، پیام بده "سهشنبه"؛ الی آخر.
3. شرط سوم
برای این نوع شرط، هنوز اسمی پیدا نکردهام؛ چون از هیچ کلمه یا حروفی تشکیل نشده است. میشود از آن به جای شرط (if ... else) استفاده کرد.
variable = (condition)?(true):(false);
value = (a == 1) ? 1 : 0;
این شرط را به این شکل هم میشود نوشت:
if (a == 1) {value = 1};
else {value - 0};
با مقایسه این دو شرط، متوجه معنای آن خواهید شد. سعی کنید یک مثال عملی با این شرط، بنویسید.
خصوصیات
از خصوصیات و فواید این نوع شرط، مختصر و کوتاه بودن آن است؛ و از معایبش این است که همه جا نمیشود مورد استفاده قرار بگیرد؛ به عبارت دیگر، قدرت و توانایی if را ندارد.
به امید دیدار
خدانگهدار
جاوای باهوش
سلام
• بعد از نوشتن اولین دستور برنامه نویسی، بهتر است با مفهوم این دستورات آشنا شویم. همانطور که ملاحظه کردید، میان یک دستور جاوا با اچتیامال، تفاوت است. اچتیامال، یک صفحه ساده و ثابت را به ما میدهد؛ و جاوا، یک صفحه متحرک و هوشمند. با اچتیامال، بدنه و اسکلت یک صفحه (متن، عکس، جدول و فرم) را میسازیم و با جاوا به این بدن و اسکلت، روح میدمیم و آنرا زنده میکنیم؛ تا آن حد که نسبت به هر عملی، واکنش و عکس العمل مناسبی را نشان میدهد.
مثال: یک فرم ارسال نامه را تصور کنید. اگر مثلا نام خود یا آدرس گیرنده را اشتباهاً ننویسید، برنامه، با پیامی این موضوع را به شما یادآوری میکند. یعنی اینکه متوجه عمل شما شده و یک واکنش مناسب، نشان میدهد. در این جلسه با این مقوله، یعنی هوشمند بودن جاوا، آشنا میشویم.
شرط
تعریف شرط
• یکی از ابزار و دستورات مهم هر زبانِ برنامه نویسی، شرط است. آیا میدانید شرط چیست؟ برای درک مفهوم آن، احتیاجی نیست به خود زحمت بدهید؛ چون این دستور، در زندگی من و شما به وفور یافت میشود. اگر خورشید درآید، هوا روشن میشود. اگر درس بخوانی، قبول میشوی.
اگــر دلــی را بـه نالـه آری، ز برق آهش امــان نداری اگر عمری گنه کردی، مشو نومید از رحمت |
به تمام اینها، جمله شرطی گفته میشود.
« یکی از مهمترین ویژگیها و امکانات زبانهای برنامه نویسی، توانایی آنها در ارزیابی و مقایسه مقادیر ذخیره شده در متغیرهاست. این توانایی اجازه میدهد تا اسکریپت، رفتار خود را بر اساس مقادیر متغیرها یا اطلاعاتی که کاربر از طریق فرمهای اچتیامال آنها وارد برنامه میکند، تغییر دهد. دستور if اساسیترین ابزار جاوا اسکریپت، جهت کنترل چنین شرایطی محسوب میشود. این دستور، شباهت بسیار زیادی به کاربرد واژه if (اگر) در زبان انگلیسی دارد. » کتاب "خود آموز جاوا اسکریپت در 24 ساعت"
ادات شرط
1. if
2. switch ... case
3. variable = (condition) ? true : false
1. شرط if
معروفترین ادات شرط، if است.
ساختمان شرط
• جمله شرطی، از سه قسمت اصلی، تشکیل شده است.
1- ادات شرط: کلمهای که شرط را میرساند؛ مانند اگر.
2- شرط: جملهای که شرطِ انجام کاری، واقع شده.
3- مشروط یا جزا: جملهای که جزای شرط و در جواب آن آمده؛ یعنی در صورت تحقق شرط، آن نیز به وقوع میپیوندد.
• در زبان برنامهنویسی هم مثل زبان محاورهای، این سه رکن، رعایت شده. با این عناصر و طریقه نوشتن آنها، آشنا میشویم.
عناصر شرط، در جاوا:
1- ادات شرط: if 2- شرط: داخل پرانتز (...) 3- مشروط: داخل کروشه {...} |
if ( شرط ) |
توجه: اگر شرط، شامل یک مشروط باشد، نیازی نیست که آن را درون علامت کروشه { } قرار دهیم.
اهمیت شرط
• اهمیت استفاده از شرط در برنامهنویسی، به فایده آن، برمیگردد. هر چقدر که استفاده از آن، منفعت داشته باشد، اهمیت دارد. این موضوع را با مثال، توضیح میدهم.
به اولین دستوری که نوشتید دقت کنید. آنرا در داخل یک صفحه، نوشتهاید که به محض ورود به آن، پیام دیده میشود. این خوب است ولی کامل نیست. تصور کنید هر دستور جاوایی که مینویسیم به محض ورود، نمایش داده شده یا اجرا شود. مثلا شما میخواهید اگر کاربر، آدرس گیرنده را ننوشت، اخطاری نشان داده شده و مانع ادامه کار گردد. این دستور باید کجا قرار گیرد؟ چگونه باید آنرا کنترل کرد که هرجا شما خواستید یا کاربر اشتباهی کرد، اجرا شود؟ اینجاست که باید دست به دامن شرط شد. پس از شرط، برای کنترل و تنظیم فرامین، استفاده میکنیم.
حالا همان مثال اولی، یعنی نمایش پیام را میخواهیم با کمی کنترل، اجرا کنیم. مثلا اگر رنگ پس زمینه صفحه ما، سفید بود، بنویسد سفید:
if (document.bgColor == "#ffffff")
{
alert("سفید")
};
حالا این پیام، در صورتی نمایش داده میشود که شرط آن، یعنی سفید بودن پس زمینه، محقق شده باشد. البته این یک مثال بود که الان به ذهنم رسید. شما میتوانید شرط یا جزای دیگری را در نظر بگیرید.
اَشکال شرط
• جمله شرطی را میشود به شکلهای مختلفی بیان کرد.
شکل اول:
سادهترین آن، همان مثال جلسه قبل بود؛ یعنی
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
داخل پرانتز: علامت == با = فرق میکند. در استفاده از آنها دقت کنید.
تمرین
مثال جلسه قبل را به خاطر دارید؟ امروز آنرا کامل کنید. اگر پس زمینه، سفید بود، بنویسد سفید؛ وگرنه پیام دیگری بدهد یا مثلا رنگ فعلی را اعلام کند.
واژه نامه
document = سند، صفحه جاری، پنجرهای که در آن کار میکنید
document.bgColor = رنگ پس زمینه سند
به امید دیدار
خدانگهدار
پارامتر
سلام
پارامترهای اسکریپت:
• تگ اسکریپت، پارامترهایی دارد که در این جلسه با آنها آشنا میشویم. به این خط دقت کنید:
<script language="JavaScript" src="">
پارامتر زبان (language)
• اولین پارامتری که به چشم میخورد، زبان است. اسکریپت، یک زبان عمومی است که انواع و اقسامی دارد. یکی از آنها جاوا اسکریپت است که معروف و متدوالترین آنهاست. LiveScript ،JScript و VBScript، انواع دیگر آن است. این زبانها، با هم تفاوت دارند. بنابرین در ابتدای کار، باید برای اکسپلورر، مشخص کنیم که به چه زبانی میخواهیم برنامه نویسی کنیم، تا طبق آن عمل کند.
داخل پرانتز: چون جاوا اسکریپت، اولین و مشهورترین زبان اسکریپتی است، احتیاجی نیست که این پارامتر را برایش بنویسیم. به عبارت دیگر، هرگاه که نوع زبان اسکریپتی، مشخص نشود، اکسپلورر، فرض را بر جاوا اسکریپت میگیرد و طبق آن عمل میکند.
پارامتر مکان (src)
دومین پارامتر، مکان است؛ یعنی محلی که کدهای جاوا در آن نوشته شده است.
توضیح:
• معمولا، کدهای جاوا را در خود صفحه html مینویسیم و اجرا میکنیم. ولی میتوان تمام کدهایی را که نیاز داریم، در یک صفحه مستقل یا پرونده متنی، ذخیره کرده، و فقط آدرس آن پرونده را بنویسیم. در این صورت، اکسپلورر، با رسیدن به این پارامتر، آدرس مورد نظر را خوانده، به آن مراجعه کرده، و کد مورد نظر را اجرا میکند. این پرونده را - که یک بانک دستورات جاواست - با پسوند js. ذخیره میکنند. وقتی یک صفحه اینترنتی را ذخیره میکنیم، عکس و دیگر متعلقات آن، در یک پوشه به همین نام، ذخیره میشود. اگر دقت کرده باشید، گاهی پروندههایی با همین پسوند (js) در آن وجود دارد.
بنابر آنچه که گفته شد، وقتی از این پارامتر استفاده میشود که دستورات جاوا را در جای دیگری ذخیره کردهایم.
مثال: اگر این پرونده را به نام java، در پوشهای به نام image، و در کنار صفحه html خودمان، ذخیره کردهایم، اینگونه آدرس آنرا مینویسیم:
src="imagejava.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
در هر بخش، با مسائل طبقه بندی شده روبرو میشوید.
به امید دیدار
خدانگهدار