آرایه

سلام

داخل پرانتز: همگی خسته نباشید. اجازه بدهید قبل از اینکه درس جدید را شروع کنم، صحبتی داشته باشم. به دوستان جدیدی که به جمع ما پیوسته‌اند، خوش آمد می‌گویم. امیدوارم چیزهای کمی که می‌دانم به درد شما بخورد. به دوستان قدیمی خسته نباشید گفته و یک گلایه هم دارم. سوالی که در جلسه قبل کردم، بی‌جواب ماند.

بیشتر از یک هفته است که درباره موضوعی مطالعه می‌کردم، به نام کوکی (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])

برای صدا کردن هر شهر، کد آنرا بنویسید.
 

تمرین: انتخاب یک گزینه از فهرست.

این برنامه را در قسمت بدنه صفحه خود، کپی کنید:


معرفی پایگاه

Useful JavaScript

این پایگاه انگلیسی زبان، جاوا اسکریپت را در جلسات منظم، ساده و با مثال، آموزش داده است.

JavaScript Cookies
Cookie Central (مرکز کوکی)

اگر مانند من، به دنبال منبعی درباره کوکی‌ها می‌گشتید، این دو پایگاه خارجی را به شما معرفی می‌کنم.
 

پرسش و پاسخ

?پرسش:
سلام، ممنون از زحماتت. می‌خواستم لطف کنی در مورد متغیرهای منطقی بیشتر توضیح بدی. آیا انواع گوناگون دارند و در کجا ها قابل مصرفند؟ متشکرم. همیشه موفق باشی.

پاسخ:
سلام. قبلا گفتیم، بولین (بله-خیر)، یک نوع از اطلاعات و داده است. همانطور که در مکالمات روزمره از بله و نه استفاده می‌کنیم، در زبان برنامه نویسی هم، جواب بعضی از سوالات، یک جواب منطقی، یعنی بله و خیر است. مثلا یک کادر، ظاهر می‌شود که از شما می‌پرسد "آیا مایل به ادامه کار هستید؟" این کادر، دو دکمه دارد. Ok, Cancel، که همان بله و خیر است. برای نمایش چنین کادری، از این دستور استفاده کنید.

confirm ("آیا شما مطمئنید؟")

?پرسش:
سلام. خسته نباشید. می‌خواستم بدونم که شما چرا اسمای سخت برای کداتون میزارید. یعنی آیا میشه اسمای آسون براشون انتخاب کنیم.؟ یا حتی به فارسی اسمی رو بنویسیم؟ بعد اینکه می‌خواستم بدونم که مثلآ پیام (سلام). شاید ما بخواهیم ، در جاهای مختلف پیامهای گوناگون داشته باشیم. آیا می‌شود،‌که تابع شماره‌ی ۱ و ۲ و ۳ درست کرد؟ یعنی قبلش تعریف کنیم و بعد با صدا کردن شماره‌ یک پیام مخصوصش بیاید؟ و غیره ... . ممنون میشم اگه توضیح بدید. بازم خسته نباشید و بی نهایت سپاسگزارم.

پاسخ:
سلام. هم در نام گذاری اسامی، آزاد هستید و هم در استفاده از پیامهای گوناگون. البته در نام گذاری، بعضی چیزها باید لحاظ بشه؛ مثلا فارسی نباشه و با عدد شروع نشه؛ اما می‌توانید مثلا بگویید: a1, a2, a3. راهی که گفتید خیلی خوبه؛ یعنی قبلا آنها را تعریف کنید و بعد صدا بزنید.
 

?پرسش:
با سلام. متشکریم از این که به ما سر زدید. سوالی داشتم. در مورد alert می خواستم بدانم نوع و شکل آن کادری که به دنبال اجرا کردن این دستور باز می‌شود آیا به نوع سیستم عامل بستگی دارد؟ به عبارتی آن کادر، از سیستم عامل ناشی می شود یا اینکه صرفا متکی بر سیستم جاوا است. با تشکر و خدانگهدار.

پاسخ:
سلام دوست عزیز! این را به عنوان یک قاعده کلی مد نظر داشته باش. هر کاری که شما به عنوان برنامه‌نویس می‌خواهید انجام دهید، مشروط به استعداد و اجازه سیستم عامل است و باید از امکانات موجود استفاده کنید؛ یعنی شما فقط فلان امکان موجود در ویندوز را فراخوانی می‌کنید. یکی از آن امکانات، پیام است که به اشکال گوناگون وجود دارد.

?پرسش:
با سلام. متشکرم از اینکه جوابی روشن و آشکار به سئوال قبلی ام دادید. سوال دیگری داشتم که اگر جواب دهید ممنون میشوم. چطور میتوان برنامه های جاوا را به هم ربط داد؟ (روشی غیر از فایلهای js.*) زیرا که این روش در واقع استفاده از دو برنامه جدا از هم است اما می خواستم بدانم که اگر در یک صفحه چند برنامه جاوا نوشته باشیم چگونه میتوانیم اینها را به هم ربط دهیم به طور مثال: اگر دو برنامه جاوا (جداگانه) در یک صفحه نوشته شده باشد چطور میتوان از برنامه اولی در برنامه دومی استفاده کرد و آنها را به هم مرتبط کرد. متشکرم. خدا نگهدار

پاسخ:
سلام. اگر منظورتان از ربط دادن، صدا کردن یک تابع در تابع دیگر است، که مشکلی نیست. کافی است نام تابع مورد نظر را در تابع دوم بنویسید. یکی از راههای صدا کردن تابع، همین است. البته اگر خود مثال را می‌دیدم بهتر بود. در آینده، از این نوع دستورات، یعنی دستورات ترکیبی، مثال خواهم زد.

?پرسش:
سلام. از آموزش خوبتون خیلی خیلی ممنونم. نظیرش را کمتر روی اینترنت دیدم. دو تا سوال ازتون داشتم: 1- در برنامه انتخاب یک گزینه (که نوشته بودید) چرا وقتی برای اولین بار روی گزینه تهران میریم پیغام نمیده؟ 2- دستور OnChange در اون برنامه کارش چیه؟. من متوجه نشدم. باز هم ممنون. بای بای

پاسخ:
سلام. جواب سوال اول شما، در سوال دوم است. دستور OnChange (که یک نوع رویدادست و من انتخاب کرده‌ام)، به معنای "هنگام تغییر" است. یعنی وقتی گزینه جدید را انتخاب کنید و قبلی، تغییر کند. چون اولین گزینه، به صورت پیش فرض، تهران است و انتخاب شده، هیچ پیامی داده نمی‌شود. امیدوارم متوجه شده باشید. اگر جوابم واضح نبود، تذکر بدهید.

به امید دیدار
خدانگهدار