آموزش جاوا اسکریپت – آشنایی با مفاهیم و اصطلاحات
در این پست از آموزش جاوا اسکریپت به بررسی مفاهیم و اصطلاحات رایج در جاوا اسکریپت خواهیم پرداخت. در این آموزش ابتدا به انواع زبان های برنامه نویسی تحت وب اشاره خواهیم کرد و تفاوت هاي اصلی زبان های جاوا اسکریپت و جاوا را شرح خواهیم داد. در ادامه نیز به هسته های تشکیل دهنده جاوا اسکریپت پرداخته می شود و با کاربردهای هر یک از آن ها آشنا خواهیم شد.
انواع زبان های برنامه نویسی تحت وب
قبل از پرداختن به آموزش جاوا اسکریپت در مورد انواع زبان های برنامه نویسی صحبت خواهیم کرد. همانطور که می دانید کامپیوتر های موجود در اینترنت، به دو دسته اصلی کامپیوتر های سمت کاربر یا Client و کامپیوتر های سرور یا Server تقسیم بندی می شوند. زبان های برنامه نویسی تحت وب نیز به دو دسته تحت کاربر، و تحت سرور، تقسیم بندی می شوند.
زبان های تحت کاربر یا Client زبان هایی هستند که بوسیله مرورگر و فقط بر روی کامپیوترهای کاربر اجرا می شوند. یعنی برای اجرای این گونه زبان ها نیازی به سرور نیست. زبان هایی همچون JAVASCRIPT و CSS ،HTML از این نوع زبان ها هستند. از این زبان ها معمولاً به تنهایی براي ایجاد سایت هایی با محتوای ثابت که اصطلاحاً به آن ها سایت های ایستا یا Static می گویند استفاده می شود.
در مقابل زبان های سمت کاربر، زبان هاي تحت سرور وجود دارند که براي اجرا نیاز به سرور ها داشته و می بایست برای اجرا حتماً بر روي سرور ها قرار بگیرند. اینگونه زبانها امکان برقراری ارتباط با پایگاه داده را دارند. زبان هایی همچون PHP، ASP، Python، JSP و … از این دست هستند. از این زبان ها برای ایجاد سایت هایی با محتوای پویا که اصطلاحاً به آن ها سایت های پویا یا Dynamic گفته می شود استفاده می شود.
جاوا اسکریپت چیست؟
با توضیحاتی که درباره زبان های برنامه نویسی تحت وب در بخش قبلی داده شد حالا می توان گفت زبان برنامه نویسی JavaScript یک زبان برنامه نویسی سمت کلاینت یا کاربر است که به رفتار صفحات ایجاد شده بوسیله HTML معنا می دهد در واقع JavaScript نحوه عملکرد صفحات وب را کنترل می کند. اجرای جاوا اسکریپت در سمت کاربر اتفاق می افتد و به کدهای آن به وسیله تمامی مرور گرها پشتیبانی می شود.
زبان برنامه نویسی جاوا اسکریپت یک زبان پویا و مبتنی بر شی گرایی است البته نه در حد زبان های شی گرایی مانند جاوا یا ++C، اما نسبت به کاربردهای وسیع خودش در زمینه طراحی وب، جایگاه ویژه ای در بین زبان های برنامه نویسی دارد. این زبان برنامه نویسی همیشه در کنار زبان های دیگر به عنوان یک ابزار مکمل به کار برده می شود و جالب است بدانید بازار کار بسیار پر رونقی در ایران و جهان دارد. پس با آموزش جاوا اسکریپت، تخصص خود را در زمینه زبان های برنامه نویسی تحت وب افزایش دهید.
تفاوت زبان برنامه نویسی جاوا اسکریپت و جاوا
این سوال که تفاوت زبان هاي جاوا اسکریپت و جاوا چیست؟ همواره یکی از سوالات اصلی بسیاری از توسعه دهندگان و برنامه نویسان تازه کار بوده است. جالب است بدانید صرف نظر از تشابه اسمی این دو زبان و تشابه نحو و دستورات آن ها با زبان ++C وجود دارد تفاوت های بسیاری بین آن ها وجود دارد که در ادامه به برخی از آن ها اشاره می کنیم:
- جاوا یک زیان برنامه نویسی کاملاً شی گرا است که برای ایجاد و توسعه برنامه های کاربردی مستقل و قابل اجرا بر روی انواع سیستم عامل ها ارائه شده است. در حالی که جاوا اسکریپت به عنوان یک زبان شبه شی گرا است که تنها یک فایل متنی ساده است و نمی توان از آن براي ایجاد برنامه های کاملاً مستقل استفاده کرد و براي اجرا می بایست در داخل صفحات HTML قرار گرفته و توسط مرورگرها تفسیر و اجرا شوند.
- جاوا یک زبان کامپایلی است در حالی که جاوا اسکریپت یک زبان اسکریپتی (مفسري) است. زبان های کامپایلی به زبان هایی گفته می شود که قبل از اجرا می بایست کامپایل شوند. زبان هاي اسکریپتی نیز به زبان هایی گفته می شود که مرحله کامپایل و اجرا آن ها جدا نبوده و در واقع کامپایل آن ها در زمان اجرا انجام می شود. وظیفه تفسیر برنامه هاي جاوا اسکریپت بر عهده مرورگر است.
- زبان هاي برنامه نویسی از لحاظ تعریف متغیر ها به دو دسته زبان هاي Strongly Type و Loosely Type تقسیم می شوند در زبان هاي با نوع قوی می بایست ابتدا نوع متغیرها را تعیین و سپس در برنامه از آن استفاده نمود. نوع این گونه متغیر ها را نمی توان در طول اجرا برنامه تغییر داد و در صورتی که این متغیرها با عملگرهاي مناسب خود به کار نروند نتایج نادرست به دست می آیند و یا خطایی به وقوع می پیوندد. زبان هاي ++C و Java از این دست زبان ها هستند. در مقابل در زبان هاي با نوع ضعیف نیازي به تعریف متغیرها و تعیین نوع داده آن ها نمی باشد. در این زبان ها تعیین نوع هاي داده به طور خودکار و بر حسب نیاز توسط خود زبان انجام می گیرد و بنابراین در طی فرآیند پردازش داده ها می توان در هر مرحله به راحتی نوع داده ها را بررسی و تغییر داد. زبان هایی همچون javascript و PHP از این دست هستند.
- یادگیري جاوا اسکریپت بسیار ساده تر از جاوا است. این به این خاطر است که همه آنچه شما به عنوان یک توسعه دهند وب براي یادگیري جاوا اسکریپت نیاز دارید درکی عمیق از HTML است. با این حال چنانچه درك درستی از جاوا اسکریپت داشته باشید یادگیري جاوا نیز برایتان سهل و دلپذیر خواهد شد.
اجزا تشکیل دهنده جاوا اسکریپت
جاوا اسکریپت از دو جزء اصلی DOM و BOM تشکیل شده است. DOM مخفف مدل شی گرای سند Document Object Model و BOM مخفف مدل شی گرای مرورگر Browser Object Model است که در ادامه توضیحاتی در رابطه با این دو جزء داده می شود.
DOM یکی از API های برنامه نویسی باری زبان های HTML و XML به شمار می رود. DOM تمام عناصر موجود در یک صفحه وب را به صورت درختی از گره ها نمایش می دهد و امکان کنترل آن ها برای توسعه دهندگان وب را فراهم می آورد. با استفاده از DOM می توان گره ها را به راحتی حذف، اضافه، جابجا و یا جایگزین کرد.
BOM نیز یکی دیگر از API های ساخته شده برای HTML است که به عنوان یکی از ویژگی هاي منحصر به فرد مرورگرها شناخته می شود. از BOM براي دسترسی و دستکاری ویژگی های پنجره یک مرورگر می توان استفاده کرد. توسعه دهندگان وب با استفاده از BOM می تواند کارهایی همچون جابجایی پنجره ها و تغییر متن موجود در نوار وضعیت مرورگر و دیگر کارهایی که ارتباط مستقیمی با محتواي تشکیل دهنده صفحه (سند) ندارند انجام دهند. معمولاً BOM با پنجره ها و فریم ها سر و کار داشته و می توان از طریق آن کارهاي زیر را انجام داد:
- باز کردن پنجره های popup
- توانایی باز کردن پنجره های جدید و تغییر اندازه و جابجایی و یا بستن آن ها
- بدست آوردن اطلاعاتی از مرورگر و سیستم عامل کاربران همچون نوع، نسخه و …
- بدست آوردن اطلاعاتی در مورد سند و موقعیت صفحه ای که در مرورگر باز شده است.
- بدست آوردن اطلاعاتی در مورد وضوح صفحه نمایش کاربر
- پشتیبانی از کوکی ها
ویژگی های اساسی جاوا اسکریپت
در این بخش از آموزش جاوا اسکریپت به چند مفهوم اساسی از ویژگی های جاوا اسکریپت می پردازیم:
- جاوا اسکریپت حساس به حروف است: یعنی همه چیز مانند نام متغیر ها، نام توابع، عملگر ها و هر چیز دیگري نسبت به حروف کوچک و بزرگ حساس است. به عنوان مثال متغیري با نام Temp با متغیری با نام temp متفاوت است.
- متغیرها بدون نوع هستند: برخلاف زبان هایی همچون Java و ++C متغیرها نوع خاصی نمی گیرند. در عوض هر متغیر می تواند با کلمه کلیدی var تعریف شده و مقداري را به عنوان مقدار اولیه بپذیرد. در واقع متغیرها “مقدار گرا” هستند. یعنی در هنگامی که تعریف (مقداردهی) می شوند نوعشان نیز مشخص می گردد. این ویژگی امکان تغییر نوع داده ذخیره شده در یک متغیر در هر نقطه ای از برنامه را فراهم می کند.
- قرار دادن (;) در انتهاي هر دستور اختیاري است: دستورات در جاوا اسکریپت می توانند به ; ختم شوند یا نشوند. در صورت چشم پوشی از ; ، جاوا اسکریپت انتهاي هر خط را به عنوان پایان دستور در نظر خواهد گرفت. با این حال روش صحیح ، استفاده از ; در انتهاي دستورات است. چون بعضی از مرورگرها از روش اول پشتیبانی نمی کند و ممکن است در اجراي کدها دچار مشکل شوند.
- درج توضیحات در جاوا اسکریپت: براي درج توضیحات در میان کدها می توان از روش هاي زبان هاي برنامه نویسی همچون C و ++C استفاده نمود یعنی از // براي توضیحات یک خطی یا /* */ براي توضیحات چند خطی:
//this is a single-line comment /* this is a multiline comment */
سخن آخر
در این پست از آموزش جاوا اسکریپت با مفاهیم و اصطلاحات رایج در جاوا اسکریپت آشنا شدیم و تفاوت های زبان جاوا و جاوا اسکریپت را ذکر کردیم. همچنین در رابطه با اجزا و ویژگی های زبان برنامه نویسی جاوا اسکریپت نیز مباحث کاملی را بازگو کردیم. در پست بعدی در رابطه با متغیرها وانواع داده ها در جاوا اسکریپت صحبت خواهیم کرد. منتظر نظرات و پیشنهادات شما عزیزان هستیم. موفق و پیروز باشید.
درباره امین جلیل زاده رزین
پایه گذار و موسس وب سایت آموزشی پی استور، مدرس دانشگاه فنی و حرفه ای، برنامه نویس و تحلیل گر سیستم، پژوهشگر در حوزه الگوریتم های ابتکاری، فرا ابتکاری، یادگیری ماشین، شبکه و پایگاه داده. ایشان در زبان های برنامه نویسی متعدد، نظیر ++C، سی شارپ، PHP ،Java، متلب MATLAB و Python تسلط و سابقه تدریس فعال دارند.