PDA

مشاهده نسخه کامل : آموزش جاوا اسکریپ



KING
10-01-07, 00:51
در اولين روزهاي تاسيس مجمع جهاني وب (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 استفاده ميکنند
:83:
منبع 2eshgh

Security
12-12-07, 23:48
با تشکر از بهنام عزیز ادامه این آموزش به صورت جامع و کامل تر در این آدرس (Only the registered members can see the link) قرار میگیرد