Javascript چیست؟
زبان جاوا اسکریپت یکی از مشهورترین زبانهای برنامه نویسی است که براساس کدهای HTML تعریف شده است.
با استفاده از این زبان می توانید سطح وب سایت خود را به وسیلهی امکانات اضافی تعاملی ارتقاء دهید. این زبان به تنهایی و یا همراه با سایر زبانهای برنامه نویسی استفاده می شود. JavaScript به شما کمک می کند تا صفحات وب آراسته و تعاملی ایجاد کنید.
از این زبان میتوان برای برنامه نویسی سمت سرور ( Server Side ) ، اپلیکیشنهای موبایل ، بازی و اپلیکیشنهای دسکتاپ استفاده کرد.
بنابراین میتوان اینگونه برداشت کرد که زبان برنامه نویسی جاوا اسکریپت ، یک زبان همه فن حریف است.
در کنار HTML و CSS ، جاوا اسکریپت یکی از فنآوریهای هستهای وب جهانگستر است.
تاریخچه javascript
جاوا اسکریپت طیّ ۶ ماه از می تا دسامبر ۱۹۹۵ ساخته شد. در آن زمان شرکت NetScape حضوری فعّال در دنیای جدید وب داشت.
مرورگر این شرکت رقیب جدّی اوّلین مرورگر مشهور وب یعنی NCSA Mosaic بود.
بسیاری از کسانی که جزء مؤسسان Netscape بودند ، قبلاً در ساخت Mosaic دست داشتند. و حالا که مستقل شده بودند و بودجهی کافی هم داشتند ، به اندازهی کافی آزادی داشتند که دنیای وب را رو به جلو برده و گسترش دهند. و این همان موضوعی بود که باعث تولّد جاوااسکریپت شد.
شبکهی جهانی وب با تعدادی صفحهی وب که توسط ابر پیوندها (Hyperlinks ) به هم متصل شده بودند شروع به کار کرد.
به زودی کاربران احساس کردند که احتیاج به تعامل بیشتری با صفحات وب دارند. بنابراین شرکت Netscape از یکی از کارمندانش به نام برندن آیک (Brendan Eich) خواست تا زبان جدیدی را برای این منظور برای مرورگر این شرکت توسعه دهد. به دلیل شدت رقابت بین Netscape و مایکروسافت در بازار مرورگرها، لازم بود تا این کار خیلی زود انجام شود.
آیک در عرض ۱۰ روز با اقتباس برخی مفاهیم از زبانهایی مانند Perl، Java، AWK، Scheme و … زبان جدیدی را ابداع کرد که نام آن را Mocha گذاشت. اما بعداً به LiveScript و سپس خیلی زود به JavaScript تغییر نام داد.
چرا جاوا اسکریپت را باید یاد گرفت ؟
- جاوااسکریپت حضور پررنگی در مرورگرها دارد.
- محبوبترین زبان برنامهنویسی دنیا است.
- ردپای جاوااسکریپت همهجا هست .
- یادگیری آن آسان است.
- فراوانی مشاغل مربوط به کدنویسی جاوااسکریپت.
- خلق جلوههای بصری.
- توسعۀ گیم.
به جرئت میتوان گفت شما با یادگیری این زبان از پس انجام هرکاری برخواهید آمد، برای اکثر پلتفرمها امکان برنامهنویسی با زبان جاوا اسکریپت وجود دارد، اما برخی از دلایل برای یادگیری این زبان عبارتند از:
جاوا اسکریپت رایگان است!
برای کدنویسی جاوا اسکریپت احتیاجی به IDEهای سنگین و یا پولی نخواهید داشت، تنها کافیست کدهای خود را در یک فایل با پسوند JS. نوشته و ادامهی کار را به مرورگر اینترنتتان پسپارید، امروزه تمامی مرورگرها از جاوا اسکریپت پشتیبانی میکنند، شما میتوانید به راحتی کدهای نوشته شده به این زبان را توسط مرورگرتان اجرا و عیبیابی (دیباگ) کنید، آنهم بدون نیاز به هیچ برنامهی جانبی و اضافی!
پیش نیاز جاوا اسکریپت
برای یاد گرفتن جاواسکریپت باید این دو تیتر را یاد بگیریم .
امروزه به دلیل آن که ارتباطات فضای مجازی رونق زیادی یافته است طراحی یک سایت به شکل مناسب و مورد پسند کاربران متفاوت اهمیت بالایی یافته است. به همین جهت صاحبان سرمایه و کار برای رونق کار خود به دنبال طراحان حرفه ای برای طراحی سایتی مناسب و کارآمد هستند. لذا یادگیری روش های مناسب و به روز طراحی سایت مورد توجه بسیاری از علاقه مندان و کارجویان قرار گرفته است. جاوا اسکریپت زبان برنامه نویسی مفسری در سمت کلاینت است که می توان بوسیله آن عناصر HTML موجود در صفحه وب و مقادیر CSS آن ها را تغییر داد و نیز ابزاری برای اعتبارسنجی داده ها است.
جاوا اسکریپت به زبان ساده
اگر قصد ورود به دنیای طراحی وب و برنامهنویسی دارید، یکی از مهمترین شاهراههایی که باید از آن عبور کنید زبان برنامهنویسی جاوا اسکریپت است.
جاوا اسکریپت یکی از مهمترین زبانهای برنامهنویسی حوزهی وب محسوب میشود. جاوا اسکریپت اولین بار با اسم LiveScript و توسط شرکت نت اسکیپ معرفی شد و بعدها به جاوا اسکریپت تغییر نام داد. البته جالب است بدانید جاوا اسکریپت نه از نظر ساختار و نه از نظر مفاهیم، شباهتی به زبان جاوا ندارد و این تشابه اسمی، در حد همان کلمات و نام و نشان باقی مانده است.
بهطور طبیعی بعد از یادگیری HTML و CSS نوبت یادگیری جاوا اسکریپت میرسد. یادگیری جاوا اسکریپت چندان کار سختی نیست؛ ولی نکته مهم در رابطه با یادگیری این زبان، آن است که بر خلاف اچتیامال یا سیاساس که زبانهای نشانهگذاری محسوب میشوند، جاوا اسکریپت یک زبان «برنامه نویسی» است. پس انتظار یادگیری سریع و بدون دردسر نداشته باشید و خود را برای چالشهای جدید و درگیریهای ذهنی بیشتر آماده کنید.
روش های استفاده از جاوا اسکریپت چگونه است ؟
بهتر است همین ابتدا این قضیه روشن شود که دستورات جاوا اسکریپت را باید در قسمت هد (Head) یا بدنه اصلی (Body) یک صفحه ی HTML قرار داد !؟
بطور کلی دستورات جاوا اسکریپت چه در قسمت هد (Head) و چه در قسمت بدنه (Body) قرار بگیرند مشکلی ندارند و اجرا خواهند شد، ولی توصیه می شود که دستورات جاوا اسکریپت در قسمت body یک صفحه HTML قرار بگیرند.
بهتر است برای اینکه قسمت هد یک صفحه برای موتورهای جستجوگر و بطور کلی از نظر سئو تمیز باشد، و همچنین برای سرعت بارگذاری بهتر صفحه حتما سعی کنید دستورات جاوا اسکریپت رو در قسمت Body یک صفحه HTML قرار بدهید.
حال یه نکته مهم اینجاست : میبینید برخی از دستورات جاوااسکریپت در بخش هد یا HEAD اجرا نمیشن و برخی هم در بخش Body اجرا نمیشن این دیگه دست ما نیست
طور کلی سعی کنید اولویت اول باید درون body باشه ولی خب اگه در body اجرا نشدن بزارید داخل head اجرا میشن و برعکس اگه در head اجرا نشدن بزارید در body اجرا میشن،
جاوا اسکریپت چگونه کار میکند ؟
این زبان در درجه اول برای افزایش قابلیت کاربر پسند بودن وبسایتها استفاده میشود. آپدیت شدن صفحات وب بهصورت پویا، بهبود رابط کاربری که خود شامل منوها، کادرهای محاورهای، تصاویر متحرک و انیمیشنها، تصاویر گرافیکی دو و سه بعدی، نقشهها، پخش کنندههای فایلهای ویدیویی و بسیاری موارد دیگر میشود، از جمله ویژگیهایی است که در این زبان برنامهنویسی گنجانده شدهاند.
قبل از هرچیزی باید بدونیم که اولین کاربرد زبان جاوا اسکریپت درسمت کاربر طراحی سایت هست و شروع کار این زبان جذاب تو این زمینه بود که کم کم به سمت برنامه نویسی سمت سرور و گیم و دسکتاپ و موبایل هم کشیده شد. خلاصه که این قصه سر دراز داره و به قول Jeff Atwood ، یکی از مؤسسان Stack OverFlow یکی از خفن ترین سایت های مورد نیاز هر برنامه نویسی که خونه ی دوم اون ها هم هست.
چه کار هایی میتوان با جاوا اسکریپت انجام داد ؟
جاوا اسکریپت یک زبان برنامه نویسی تکامل یافته است که در مرورگر وب شما قرار گرفته و تمامی قابلیتهای یک زبان برنامه نویسی معمولی را دارد. این ویژگیها عبارتند از:
تعریف متغیرها
ذخیره و بازیابی مقادیر
تعریف و فراخوانی توابع
تعریف کلاسها
بارگذاری و استفاده از ماژولهای خارجی
تعریف و نوشتن پردازنده رویداد که به کاربر و سایر موارد پاسخ میدهد
قطعا این زبان برنامه نویسی قابلیتهای بسیار زیادی دارد که فقط چند مورد از آنها در بالا ذکر شد.
موتور جاوا اسکریپت :
Google V8 JavaScript Engine یک موتور جاوااسکریپت متنباز است که توسط گوگل توسعهیافته و همراه مرورگر گوگل کروم عرضه میشود. لارس باک رئیس برنامهنویسی آن است.
وی۸ با کامپایل کردن جاوااسکریپت به زبان محلی ماشین قبل از اجرا به جای اجرای بایتکد یا سپردن آن به مفسر کارایی را افزایش میدهد. بیشتر افزایش کارایی در آن بهوسیلهٔ بهکارگیری فنهایی بهینهسازیای چون استفاده از نهانگاه درونبرنامهای (Inline caching) بهدست میآید. با این قابلیتها برنامههایی که با موتور وی۸ اجرا میشوند سرعت خوبی دارا هستند که با کدهای اجرایی کامپایل شده قابل مقایسه است.
کاربرد های جاوا اسکریپت :
زبان جاوا اسکریپت بخاطر انعطافی که دارد بسیار مورد توجه برنامهنویسان قرار گرفته است. این زبان برای برنامه نویسی سمت کاربر و سمت سرور، کاربرد دارد.
جاوا اسکریپت علاوه بر طراحی سایت ، در برنامهنویسی موبایل و دسکتاپ نیز استفاده میشود.
از کاربردهای دیگر این زبان توسعهی بازیهای تحت وب، ایجاد گرافیکهای دو و سه بعدی است.
همچنین یادگیری این زبان نسبت به بسیاری از زبانهای دیگر سادهتر است. پس به راحتی با یادگیری آن میتوانید یک روح تازه به وبسایت خود ببخشید و با ایجاد انواع انیمیشن و تحرکات مختلف به عناصر صفحه، رابط کاربری بهتری داشته باشید.
کاربرد جاوا اسکریپت در طراحی وب
جاوا اسکریپت زبانی است که در صفحات html کاربرد دارد و قابلیت های بسیاری از قبیل : افزایش کیفیت طراحی صفحات , کنترل صفحات ، کنترل browser بازدید کننده ، ساخت و استفاده cookie ها و بسیاری چیزهای دیگر.
این روزها javascript و چارچوب های متناظر با آن توسط بسیاری از توسعه دهندگان وب استفاده می شوند و مورد استقبال چشمگیری واقع شده اند. متاسفانه VBScript توسط برخی مرورگرها پشتیبانی نمی شود که این باعث افزایش برتری استفاده از جاوا اسکریپت شده است.
برای شروع برنامه نویسی به زبان جاوا اسکریپت ، علاوه بر دارا بودن دید برنامه نویسی ، تسلط نسبی بر زبان HTML نیز لازم است. زبان برنامه نویسی جاوا اسکریپت زبانی شی گراست و سینتکس آن شباهت بسیاری با زبان C دارد.
شما می توانید کد javascript را در یک فایل مجزا نگهداری کرده و سپس هر زمان که لازم بود آن را وارد کنید، یا می توانید قابلیت را در داخل خود داکیومنت HTML تعریف کنید.
جاوا اسکریپت برای هکر ها :
هکر میتونه بخاطر آسیب پذیری موجود بیاد و اقدام به تزیرق کد های جاوا اسکریپتیش بکنه!
همه مون این رو خوب میدونیم که جاوا اسکریپت یک زبانی هستش که به عنوان client side یا همون سمت کاربر خودمون هست ! پس جای تعجبی نداره وقتی هکر بیاد و رو بستر xss پیلودی رو بنویسه که وقتی شما مثلا وارد این صفحه آسیب پذیر شدی و داشتی یوزر پسوردتو میزدی یوزر و پسورد شما به سمت سرور هکر ارسال شه !
جای تعجبی نداره که هکر بیاد و به کمک ابزار بیف روی بستر xss اقدام به دسترسی گرفتن از مرورگرتون بکنه !
فریم ورک ها برای جاوا اسکریپت :
در سادهترین تعریف میتوان بیان نمود که angular.js ، HTML را با ویژگیهای جدید گسترش داده است. این فریمورک یکی از فریمورک های جاوا اسکریپت است که با برچسب <script> به یک صفحه HTML متصل میشود. فریم ورک angular.js برای برنامههای تک صفحه (SPA) مناسب است.