جاوا اسكريپت زباني است كه نخستين بار توسط شركت Netscape براي توسعه قابليت هاي صفحات وب سايت ايجاد گرديد و امروزه متداول ترين زبان اسكريپت نويسي در ميان طراحان وب سايت است و همه مرورگرهاي مطرح وب از آن پشتيباني مي كنند. آنچه باعث ايجاد و توسعه چنين زباني در كنار HTML گرديد اين واقعيت بود كه HTML صرفا يك زبان طراحي براي تعيين عناصر درون صفحه وب سايت و نحوه چينش آنها به شمار مي رود و نمي تواند كارهايي مانند بررسي فرم جدا، پاسخ به رويدادهاي صفحه با افزودن جلوه هاي تصويري به صفحه را برعهده بگيرد. اما كد هاي جاوا اسكريپت در طراحي وب سايت چه نقشي دارند؟
هنگامي كه يك قطعه كد جاوا اسكريپت درون كدهاي HTML گنجانيده مي شود، مرورگر وب، اين كدها را خط به خط تفسير نموده و نتيجه را روي صفحه نمايش مي دهد. گاهي اوقات هم اجراي كدهاي جاوا اسكريپت مشروط به وقوع يك رويداد (براي نمونه كليك شدن يك دكمه) است. در هر صورت، بر خلاف زبان هاي برنامه نويسي كه در آنها ابتدا كدها بايد اشكال زدايي، كامپايل و سپس اجرا شوند، كدهاي جاوا اسكريپت، خط به خط توسط مرورگر تفسير شده و به اجرا در مي آيند.
پس از عرضه جاوا اسكريپت، تلاش هايي به خصوص از سوي شركت مايكروسافت براي تفيلد از آن صورت گرفت كه نهايتا منجر به ايجاد زبان اسكريپتي VBScript گرديد اما هيچ گاه نتوانست محبوبيت و فراگيري جاوا اسكريپت را پيدا كنند. در نتيجه اين شركت بزرگ نرم افزاري با ارايه زبان Jscript، نسخه مايكروسافتي جاوا اسكريپت را توليد و روانه بازار نمود.
جاوا اسكريپت جزو زبان هاي سمت سرويس گيرنده محسوب مي شود يعني بر روي رايانه كاربر به اجرا درمي آيد؛ برخلاف PHP ASP . NET يا JPS كه در زمره زبان هاي سمت سرويس دهنده طبقه بندي مي شوند براي آشنايي بهتر با اين مفهوم مهم در طراحي وب سايت، مثال زير را با دقت مطالعه نماييد.
فرض كنيد وب سايت يك بانك قصد دارد صفحه اي را ايجاد نمايد تا كاربران با انتخاب نوع سرمايه گذاري و مبلغ مورد نظر، ميزان سود ماهيانه را محاسبه نمايند.
روش اول اين است كه با استفاده از يكي از زبان هاي برنامه نويسي سمت سرويس دهنده، صفحه مذكور پياده سازي شود. در اين حالت وفتي كاربر اطلاعات موردنياز را وارد و روي دكمه محاسبه» كليك مي كند، اين اطلاعات براي سرويس دهنده ارسال شده و پس از انجام محاسبات لازم، نتيجه برگشت داده مي شود، طبيعت اين كار مستلزم يك بار رفت و برگشت اطلاعات و اجرا عمليات روي سرويس دهنده و تاحدي زمان بر است
روش دوم پياده سازي، استفاده از زبان هاي سمت سرويس دهنده مانند جاوا اسكريپت است. در اين حالت، فرمول موردنياز براي محاسبه سود بانكي در قالب يك قطعه كد) در هنگام درخواست نمايش اوليه صفحه براي رايانه كاربر فرستاده مي شود. هنگامي كه كاربر، اطلاعات موردنياز را وارد و روي دكمه محاسبه» كليك مي كند، كد اجرا شده و نتيجه روي صفحه ظاهر مي شود. در اين حالت، رفت و برگشت اطلاعات وجود ندارد، عمليات روي سرويس دهنده كاهش مي يابد و عمليات با سرعت فوق العاده بيشتري انجام مي شود
فرض كنيد همين كار براي اعتبارسنجي داده هاي وارد شده در يك فرم اينترنتي انجام گيرد. به جاي اين كه فرم با اطلاعات ناقص چندين بار براي سرويس دهنده ارسال شود و پاسخ خطا از سمت سرويس دهنده براي رايانه كاربر ارسال گردد، مي توان با استفاده از كدهاي جاوا اسكريپت، عمليات اعتبارسنجي را روي مرورگر كاربر انجام داد تا ضمن جلوگيري از رفت وبرگشت اطلاعات و افزايش بي مورد ترافيك شبكه، فشار كاري روي سرويس دهنده هم كاهش يابد. اين كار در مواقعي كه قرار است برنامه اي بزرگ با دهها هزار كاربر نوشته شود (مانند نرم افزار ثبت نام اينترنتي كنكور سراسري) اهميت خود را به خوبي نشان ميدهد.
علاوه بر اين ها امروزه با جستجو در اينترنت مي توانيد صدها قطعه كد جاوا اسكريپت بيايد كه توسط برنامه نويسان خلاق براي ايجاد جلوه هاي بصري درون مرورگر نوشته شده اند و ظاهر و كارايي صفحات را به نحو خيره كننده اي افزايش مي دهند، نمايش ساعت درون صفحه، تغيير ظاهر اشاره گر ماوس، ظاهر نمودن پيغام روي صفحه و تنها بخشي از قابليتهاي اين زبان اسكريپت نويسي است.
هنگام معرفي جاوا اسكرييت همواره اين نكته هم مورد تأكيد قرار مي گيرد كه علي رغم تشابه اسمي، رابطه اي ميان جاوا اسكريپت و زبان جاوا وجود ندارد و حتي نگارش اين زبان اسكريپتي به زبان C نزديك تر است.
در مجموع مي توان موارد زير را به عنوان كاربردهاي اصلي جاوا اسكريپت ذكر كرد:
- خواندن عناصر صفحه و افزودن عناصر و اجزاء جديد به صفحه
- دستكاري با جابجا كردن عناصر و نوشته ها
- به اجراي محاسبات رياضي روي داده ها
- واكنش نسبت به وقوع رويدادهايي نظير بارگذاري صفحه يا كليك شدن دكمه
- استخراج اطلاعاتي مانند نسخه مرورگر، زمان و تاريخ، ابعاد صفحه و … از مرورگر كاربر
- اعتبارسنجي دادههاي وارد شده درون فرم و نمايش پيغام هاي مناسب
جاوا اسكريپت يك زبان اسكريپت نويسي شي گرا محسوب مي شود كه كاربرد آن در طراحي وب سايت روز به روز افزايش مي يابد. امروزه عياراتي مانند 4X (با تلفظ اي جكس) يا JQuery (با تلفظ جي كوئري) در ميان طراحان وب سايت زياد به گوش مي خورد كه هر دو منشاء جاوا اسكريپتي دارند.
AJAX كه از عبارت Asynchronous JavaScript and XML به معني «تركيب ناهمگام جاوا اسكريپت و XML» گرفته شده، به گونه اي قابليت هاي جاوا اسكريپت و XML را تركيب نموده تا لازم نباشد با وقوع جر رويدادي در صفحه وب سايت، يك بار عمليات رفت و برگشت صفحه به سرويس دهنده انجام شود
براي نمونه احتمالا در موتورهاي جستجوي معروف مانند Google با Yahoo مشاهده كرده ايد كه كاربر به محض وارد كردن عبارت موردنظر، با فهرستي از پيشنهادهاي موتور جستجو مواجه مي شود كه پيش از اين توسط ساير كاربران مورد جستجو قرار گرفته اند. در اين حالت، صفحه بدون اين كه تازمازي (Refresh) شود عبارت وارد شده را براي موتور جستجو ارسال نموده و نتايج را به صورت پويا نمايش ميدهد.