|
مفهوم
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
را دارند, کار ميکنند.
ميتوانيد بااستفاده از تگ <APPLET>
در سند HTML
فرامين Java
را بکار بگيريد و سپس هنگامي که browser تگ <APPLET> را مشاهده کرد, 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 (عددي)
|
|
عبارت داخلي
Y و X را
در کنار هم قرار ميدهد.
|
X+Y (حرفي)
|
|
Y را از
X کم
ميکند.
|
X-Y
|
|
Y و
X را هم ضرب ميکند.
|
X*Y
|
|
X را بر
Y تقسيم ميکند.
|
X/Y
|
|
خارج قسمت
X بر
Y را نشان ميدهد.
|
X%Y
|
|
به
X يک عدد اضافه ميکند.
(X=X+1)
|
X++ , ++X
|
|
از
X يک عدد کم
ميکند.
(X=X-1)
|
X-- , --X
|
|
علامت
X را عوض ميکند.
|
X-
|
|
|
**نکات مورد توجه
|
|
·
هر چند دو عملگر X++
, ++X به مقدار X
يک واحد اضافه ميکنند,
اما در اصل دو عملگر متفاوت از
يکديگر ميباشند. به عنوان مثال
اگر X=5 باشد و ++Y=X باشد در نتيجه Y=5 و X=6
ميشود ولي در عبارت Y=++X
مجهولهاي X
و Y
هر دو داراي مقدار 6 خواهد بود.
|
|
معادله ها
|
|
مقدار
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 را
بر ميگرداند.
|
X>=Y
|
|
در صورتيکه
Y از
X بزرگتر
باشد مفهوم,
true را بر ميگرداند.
|
X<Y
|
|
در صورتيکه
Y از
X بزرگتر يا برابر باشد مفهوم,
true را
بر ميگرداند.
|
X<=Y
|
|
در صورتيکه هم
X و هم
Y صحيح
باشد مفهوم,
true را بر ميگرداند.
|
X&&Y
|
|
در صورتيکه يا
X يا
Y صحيح باشند مفهوم,
true را بر
ميگرداند.
|
X\\Y
|
|
در صورتيکه مقدار
X غير صحيح باشد مفهوم,
true را بر ميگرداند.
|
X!
|
|
|
**نکات مورد توجه
|
|
·
در صورتيکه متغييرهاي (حرفي)
رشته اي را با يکديگر مقايسه کنيد,
توجه داشته باشيد که "a" از "A" بزرگتر و "be" از "abracadabra" کوچکتر ميباشد.
|
|
ابزارهاي مورد نياز
|
|
از آنجا که JavaScript
يک متن ساده ميباشد, در نتيجه
ميتوان از هر ويرايشگر متن کمک
گرفت, همچنين ميتوان از يک
پردازشکر متن مثل word که فايل را نهايت بصورت text
only ذخيره شود, استفاده کرد ولي کلا
بهتر است از برنامه اي که حالت plain text
که بصورت فرمت استاندارد آن است
استفاده نماييد. در سسيتم ويندوز
اغلب کاربران از برنامه notepad
استفاده ميکنند
|