سفارش تبلیغ
صبا ویژن

آشیانه

(مقاله) آموزش جاوا اسکریپ

در اولین روزهای تاسیس مجمع جهانی وب (World Wide Web) دستورات HTML بسیار ساده و آسان بود، بطوریکه فراگیری فرامین مورد نیاز بیشتر از چند روز طول نمیکشید ولی هنگامی که Web، شروع به پیشرفت نمود، طراحان خواستار کنترل بیشتری شده و در نتیجه مجموعه دستورات مورد نیاز تهیه گردید.
سپس از آنجاییکه صفحات وب، بهتر است به صورت دینامیک و متحرک باشند، طراحان نیز خواستار ارتباط بین بینندگان سایت و صاحبان آن شدند، در نتیجه استفاده از دستورات HTML به تنهایی نیاز آنها را برطرف نکرد و سپس شرکت Netscape برای ایجاد و کنترل ارتباط بین صاحبان سایت و بینندگان آن در صفحات Web از JavaScript کمک گرفت.
مفهوم JavaScript
JavaScript دقیقا یک زبان برنامه نویسی میباشد که به وسیله آن میتوان بین کاربر و سایت ارتباط برقرار نمود. توجه داشته باشید که استفاده از JavaScript در صفحات Web نیازی به نوشتن اسکریپتها نداشته و میتوانید اسکریپتهای موجود در شبکه اینترنت را کپی و در مکان مورد نظر با ایجاد تغییرات مورد نیاز استفاده کنید، اما در صورتیکه یک برنامه نویس باشید با استفاده از این سایت خواهید توانست اسکریپتهای مورد نظرتان را بنویسید.

قابلیت JavaScript

به وسیله جاوا اسکریپت میتوان قابلیتهای بیشماری از قبیل ایجاد ارتباط بین کاربر و سایت به صفحه Web اضافه نمود. مثلا سایتهایی را مشاهده نمودید که با قرار گرفتن نشانگر موس بر روی دکمه مورد نظر بصورتی متفاوت (برجسته، تغییر محتویات درون دکمه) نمایش داده میشود، این عمل توسط JavaScript انجام شده و به این تکنیک rollover گفته میشود.
به وسیله rollover میتوان حالتی ایجاد نمود تا اطلاعات وارد شده توسط کاربر درون فرمها بطور صحیح باشند و در نتیجه در زمان و هزینه مربوط بتوان صرفه جویی نمود. میتوان محاسبات لازم و مورد نیاز عددی را بدین وسیله در دستگاه کاربر و بدون نیاز به هیچ گونه فرایندی در serverها انجام داد تفاوت بین برنامهای server-side و client-side بدین گونه است که در برنامه server-side برنامه توسط CGI در خود serverها اجرا میشود مانند: برنامه ASP ولی در برنامه های client-side برنامه در دستگاه کاربر اجرا خواهد شد.
از دیگر فرمت ها و قابلیتهای JavaScript میتوان، صفحات HTML را بر اساس عمل کاریر نمایش داد. فرض کنید که یک سایت آژانس مسافرتی را باز کرده و مقصد خود را هاوایی انتخاب کنید، بوسیله اسکریپت میتوان آخرین اطلاعات مسافرتی مورد نیاز برای هاوایی را در صفحه ای جدید مشاهده نمایید.
به وسیله این برنامه میتوان بر browser کنترل انجام داد و پنجره های جدیدی را باز نمود، جعبه های پیغام را به کاربر اعلام نمود و بر روی قسمت status bar پنجره browser پیغام مخصوصی را نمایش داد.
همچنین بخاطر وجود قابلیتهای ویژه ای که در این نوع برنامه نویسی وجود دارد میتوان ساعت، تقویم و هر برنامه زمانی دیگری نیز تهیه کرد.

JavaScript یک برنامه Java نیست.

برخلاف شباهت اسمی موجود برنامه Java و JavaScript، هیچگونه شباهتی بین این دو برنامه وجود ندارد Java یک زبان برنامه نویسی بسیار کامل پیشرفته ای است که توسط شرکت sun microsystem تهیه شده و با استفاده از آن که نسل بعدی برنامه های c و ++c میباشد، میتوان تمامی برنامه مورد نیاز را نوشته و در ضمن قطعات الکترونیکی استفاده کننده را نیز کنترل نمود. از خاصیتهای دیگر Java اجرای برنامه نوشته شده توسط آن در تمامی مکانها با هرگونه سیستم عامل از قبیل Windows، Unix، Mac os میباشد.
اساس Java در برنامه های client-side برای ایجاد appletها میباشد، این برنامه های کوچک توسط شبکه اینترنت دریافت شده و درون خود browserها اجرا میشوند بطوریکه بعلت وجود قابلیت همه گیر Java، این برنامه در تمامی browserهایی که قابلیت اجرای Java را دارند، کار میکنند.
میتوانید بااستفاده از تگ در سند HTML فرامین Java را بکار بگیرید و سپس هنگامی که browser تگ را مشاهده کرد، applet مورد نظر از server وارد دستگاه شده و در جای تعبیه شده درون سند HTML اجرا میشود.

اندکی در مورد تاریخچه JavaScript

در صورتیکه JavaScript با نام Java تناسبی ندارد، پس چرا در نام خود شباهت دارند؟ پاسخ به این سئوال را در استفاده از معروفیت نام موجود در بازار خواهید یافت. بعد از اضافه نمودن قابلیتهای اسکریپت نویسی Netscape که اساسا زبان برنامه نویسی Livescript نامیده شده در همین موقع زبان gava معروفیت خاصی پیدا کرد و شرکت Netscape بعنوان اولین شرکت از آن در browserهای خود استفاده کرد و نام آنرا به JavaScript تغییر این زبان برنامه نویسی گسترش چشمگیری بدنبال داشت.

زبان ترکیبی:

زبان JavaScript یک زبان برنامه نویسی ‘’شی گرا"’ میباشد. در این قسمت مفهوم شی گرایی یک برنامه را با توجه به مفاهیم object مشخصات و اعمال، آنها را توضیح میدهیم.

Object

در دنیای حقیقی اشیاء مانند کامپیوتر، دوچرخه و … میباشند، در زبان JavaScript اشیاء درون browserها بوده و عبارتند از پنجره ها و فرم ها.

Properties

اشیاء (object) خود دارای مشخصه هایی میباشد مثلا گربه دارای پوست میباشد، کامپیوتر، کیبورد داشته و دوچرخه دارای چرخ است! در دنیای JavaScript پنجره دارای تیتر و فرمها دارای check box میباشند.
تغییر مشخصه یک شی میتواند آن را تغییر میدهد، بطوریکه میتوان همان مشخصه را در اشیای کاملا متفاوتی بکار برد.
فرض کنید که دارای مشخصه ای بنام empty هستید، پس بنابرآنچه گفته شد این مشخصه (خالی بودن) را میتوانید هم برای شکم گربه و هم برای کاسه گربه بکار ببرید!

Methods

کاری که اشیاء میتوانند انجام دهند، Methods نامیده میشود، که مثلا خرخر گربه، خرابی کامپیوتر، و چرخش دوچرخه را میتوان عنوان نمود. اشیاء زبان JavaScript نیز دارای methodsهایی میباشد مثلا عمل کلیک برای دکمه ه، بازکردن پنجره و انتخاب متن مورد نظر را بدنبال دارد. همانطور که توجه میکنید پرانتزها نمایانگر وجود method میباشند.

کنترل وقایع (handling events)

events عملیاتی بوده که کاربر در هنگام مشاهده صحنه طراحی شده انجام میدهد.
پذیرش (Submitting) یک فرم و تغییر مکان نشانگر ماوس برروی یک تصویر، دو نمونه از حالات و وقایع اتفاق افتاده میباشند.
توسط دستورات بنام event handlers، این برنامه وقایع مورد نظر را کنترل میکند. متداولترین کنترل کننده های وقایع در جدول فوق آورده شده اند و در آینده بیشتر در مورد آنها صحبت خواهیم کرد.

Event

onAbort کاربر با اشیاء کاری ندارد.
onBlur کابر شی را تغییر میدهد.
OnError اسکریپت با اشتباه مواجه میشود.
oncHange کاربر برروی شی کلیک میکند.
onFocuse کاربر یک شی را فعال میکند.
onLoad بارگزاری شی اتمام میشود.
onMouseover نشانگر ماوس بر روی شی میرود.
onMouseout نشانگر ماوس از روی شی کنار میرود.
onSubmit کاربر یک فرم را پذیرش میکند.
onUnload کاربر به پنجره کاری ندارد.
onSelect کاربر محتویات شی را انتخاب میکند.
نکات مورد توجه

زبان JavaScript به حروف بزرگ و کوچک حساس میباشد.

نام متغیرها با اعداد شروع نمیشود. و در آنها فضای خالی یا نقطه گذاری وجود ندارد. همچنین نباید اسمی مشابه با کلمات از قبل رزرو شده و مخصوص JavaScript استفاده کرد.

عملگردها

عملگرده، علاماتی بوده که برای کار با متغییرها استفاده میشوند. مطمئنا با عملگرهای ساده ریاضی مثل جمع، تفریق آشنا هستید. برای اطلاع بیشتر به دیگر عملگرها به جدول فوق توجه کنید.

X+Y (عددی) دو عدد X و Y را با یکدیگر جمع میکند.
X+Y (حرفی) عبارت داخلی Y و X را در کنار هم قرار میدهد.
X-Y Y را از X کم میکند.
X*Y Y و X را هم ضرب میکند.
X/Y X را بر Y تقسیم میکند.
X%Y خارج قسمت X بر Y را نشان میدهد.
X++ ، ++X به X یک عدد اضافه میکند. (X=X+1)
X– ، –X از X یک عدد کم میکند. (X=X-1)
X- علامت X را عوض میکند.
نکات مورد توجه

هر چند دو عملگر X++ ، ++X به مقدار X یک واحد اضافه میکنند، اما در اصل دو عملگر متفاوت از یکدیگر میباشند. به عنوان مثال اگر X=5 باشد و ++Y=X باشد در نتیجه Y=5 و X=6 میشود ولی در عبارت Y=++X مجهولهای X و Y هر دو دارای مقدار 6 خواهد بود.
معادله ها

X=Y مقدار X برابر Y قرار داده میشود.
X+=Y مانند معادله X=X+Y است.
X-=Y مانند معادله X=X-Y است.
X*=Y مانند معادله X=X*Y است.
X/=Y مانند معادله X=X/Y است.
X%=Y مانند معادله X=X%Y است.

نامعادله ها

X==Y در صورتیکه X،Y مساوی باشند مفهوم، true را بر میگرداند.
X!=Y در صورتیکه X،Y نامساوی باشند مفهوم، true را بر میگرداند.
X>Y در صورتیکه X از Y بزرگتر باشد مفهوم، true را بر میگرداند.
X>=Y در صورتیکه X از Y بزرگتر یا برابر باشد مفهوم، true را بر میگرداند.
XX<=Y در صورتیکه Y از X بزرگتر یا برابر باشد مفهوم، true را بر میگرداند.
X&&Y در صورتیکه هم X و هم Y صحیح باشد مفهوم، true را بر میگرداند.
X\\Y در صورتیکه یا X یا Y صحیح باشند مفهوم، true را بر میگرداند.
X! در صورتیکه مقدار X غیر صحیح باشد مفهوم، true را بر میگرداند.

نکات مورد توجه

در صورتیکه متغییرهای (حرفی) رشته ای را با یکدیگر مقایسه کنید، توجه داشته باشید که ‘’a"’ از ‘’A"’ بزرگتر و ‘’be"’ از ‘’abracadabra"’ کوچکتر میباشد.

ابزارهای مورد نیاز

از آنجا که JavaScript یک متن ساده میباشد، در نتیجه میتوان از هر ویرایشگر متن کمک گرفت، همچنین میتوان از یک پردازشکر متن مثل word که فایل را نهایت بصورت text only ذخیره شود، استفاده کرد ولی کلا بهتر است از برنامه ای که حالت plain text که بصورت فرمت استاندارد آن است استفاده نمایید. در سیستم ویندوز اغلب کاربران از برنامه notepad استفاده میکنند