میتوانم شکست را بپذیرم اما تلاش نکردن را هرگز!

جاوااسکریپت

آموزش جاوااسکریپت (JavaScript)

جاوااسکریپت، به اختصار JS (به انگلیسی: JavaScript) زبان برنامه‌نویسی سطح بالا، پویا، مبتنی بر شی، وابستگی کم به نوع (Weakly typed)، چند رویه و تفسیری است. در کنار HTML و CSS، جاوااسکریپت یکی از سه هسته صفحات دنیای وب می‌باشد.


جاوا اسکریپت (JavaScript) چیست؟
جاوا اسکریپت برای اولین بار توسط شرکت Netscape و با نام LiveScript به دنیای وب و بازار عرضه شد. ولی بعدها ، با حمایت شرکت Sun Microsystems (پدید آورنده JAVA) با نام جاوا اسکریپت شناخته شد. جاوا اسکریپت یک زبان اسکریپت نویسی است ، که بیشتر با کدهای HTML در ارتباط است و همانند کدهای HTML ، روی پلت فرم های مختلفی اجرا می شود ، و یا به عبارتی به وسیله مرورگر های وب مختلفی ، قابل تفسیر است.
JavaScript (به اختصار JS) ، زبان برنامه نویسی کاملاً پویا است ، که وقتی به یک صفحه وب ، اعمال می شود ، امکان برقراری تعامل پویا با وب سایت را فراهم می سازد.
علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس(++C) و جاوا شباهت دارد؛ که این امر برای یادگیری آسان در نظر گرفته شده‌است. از همین رو دستورهای متداول مانند if, for, try..catch ,”while” و… در این زبان هم یافت می‌گردند.
جاوا اسکریپت ، زبان برنامه نویسی جمع و جوری است ، اما با این حال ، بسیار انعطاف پذیر است. توسعه دهندگان ، انواع متنوعی از ابزارها را بر روی هسته زبان JavaScript ، نوشته اند و تعداد زیادی قابلیت های اضافی را برای آن فراهم نموده اند. برخی از این قابلیت ها عبارتند از :

  • Browser Application Programming Interfaces (APIs) : API های ساخته شده در داخل مرورگرهای وب ، قابلیت هایی مانند ایجاد پویایی در صفحات و تنظیمات CSS Style ، تولید گرافیک های سه بعدی و sample های صوتی ، را فراهم می کنند.
  • API های third-party ، که برای توسعه دهندگان این اجازه را می دهند که عملکردهای سایت خود را با سایر تولیدکنندگان محتوا ، مانند توییتر و فیس بوک ، ترکیب نمایند.
  • چارچوب ها و کتابخانه های third-party در جاوا اسکریپت ، که می توان از آنها در کدهای HTML ، استفاده نمود ؛ تا بتوان سایت ها و برنامه های کاربردی را با سرعت بیشتری ساخت.

همان طور که اشاره شد ، جاوا اسکریپت شامل یک کتابخانه استاندارد اشیاء ، مانند Array، Date ، Math است و مجموعه پایه ای از عناصر زبان ، مثل عملگرها، ساختارهای کنترلی و عبارات می باشد.

امکانات و قابلیت های جاوا اسکریپت
طراحان صفحات وب ، می توانند با استفاده از آموزش جاوا اسکریپت و یادگیری توابع و اشیاء آماده و از پیش تعریف شده جاوا اسکریپت ، قابلیت های زیادی را برای صفحات وب ایجاد کنند. برای مثال ،

  • می توان قالب صفحه وب را طوری طراحی کرد که کاربران ، بتوانند به اجزای صفحه وب ، مانند رنگ پس زمینه ، اندازه و فونت متن و غیره ، دسترسی داشته باشند و آن ها را تغییر دهند.
  • می توان با استفاده از کدهای گرافیکی ، برای صفحات وب ، انیمیشن ایجاد نمود و به کاربران این امکان را داد که به طور دلخواه ، قادر به جابجایی یا تغییر تصاویر گرافیکی باشند.
  • می توان event ها را کنترل کرد و با زبان جاوا و Plugin ها ، ارتباط برقرار نمود.
  • می توان فرم های ClintSide ایجاد کرد و اطلاعات وارد شده توسط کاربران را در فرم ها را اعتبارسنجی نمود و در صورت وجود هرگونه خطا در نحوه پر شدن فرم ها ، پیغام مناسب را نمایش داد.

اگرچه می توان به وسیله Java Script ، فرم های سمت کلاینت را که توسط کاربران تکمیل شده است ، به سمت server فرستاد ، اما جاوا اسکریپت ، قدرت ایجاد ارتباط متقابل بین server و client را به اندازه زبان جاوا ندارد.

چرا باید آموزش JavaScript را دنبال کنیم؟
وظیفه جاوا اسکریپت ، افزودن منطق به فضای HTML ، است. در واقع به کمک HTML و CSS ، نمی ‌توان یک صفحه‌ وب کامل داشت.
اصولاً ، جاوا اسکریپت یک زبان سمت کاربر یا front end است ، که بار منطقی فرآیندهای وب را بر عهده می‌گیرد. البته با به وجود آمدن زبان NodeJS ، امکان نوشتن سرویس‌های وب در سمت سرور با جاوا اسکریپت نیز وجود دارد و امکان اجرای کدهای جاوا اسکریپت ، به‌ عنوان زبان سمت سرور نیز فراهم شده است.

ابزارها و کتابخانه‌ های معروف JavaScript
به‌طور کلی ، با زبان جاوا اسکریپت ، می توان از سرورهای وب گرفته تا اپلیکیشن‌های موبایل و برنامه های کاربردی تحت وب را پیاده‌سازی نمود. ابزارهای زبان JavaScript ، این روزها به ‌قدری گسترده شده ‌اند که نمی‌ توانیم بدون آن‌ها ، به دنیای وب فکر کنیم. از بین مشهورترین ابزارها و فریم‌ ورک‌ های توسعه‌ یافته برای زبان جاوا اسکریپت ، می ‌توان به موارد زیر اشاره کرد:

  • کتابخانه‌ ReactJS : بسیاری از سایت‌ ها و سرویس‌ های تحت وب پیشرفته ، بر پایه‌ این فریم‌ ورک ، توسعه داده‌ شده‌اند.
  • React Native : محصول دیگری از شرکت فیس‌ بوک است که امکان تولید اپلیکیشن ‌های موبایل را بر پایه زبان جاوا اسکریپت ، فراهم می‌کند. نمونه بارز آن اپلیکیشن موبایل اینستاگرام است.
  • فریم ورک AngularJs گوگل : بسیاری از ابزارها و سرویس‌های بزرگ بر پایه‌‌ی آن توسعه داده‌ شده‌اند.
  • NodeJS : زبان اپن سورسی که امکان برنامه‌ نویسی با زبان جاوا اسکریپت را در سمت سرور فراهم می‌کند.
به‌ طور کلی ، برای اجرای کدهای جاوا اسکریپت ، هیچ ابزار خاصی نیاز نیست. در واقع ، بر خلاف زبان‌های دیگر که نیاز به یک کامپایلر برای اجرای کدها دارند، جاوا اسکریپت روی مرورگرهای اینترنت اجرا می‌شود. برای نوشتن کدها نیز یک editor متن ساده ، مانند Notepad ، نیاز هست؛ اما برای راحتی کار توصیه می شود از IDE (مانند Visual Studio Code) مناسب استفاده شود.

مزایای جاوا اسکریپت

  • جاوا اسکریپت بر خلاف vbscript در همه browser ها قابل استفاده و خوانده شدن است.
  • جاوا اسکریپت قابلیت برنامه نویسی را به صفحات HTML شما میدهد.
  • جاوا اسکریپت صفحات HTML شما را پویا میکند.
  • جاوا اسکریپت به رویدادها پاسخ میدهد ( مثل کلیک موس،load شدن صفحه و …)
  • جاوا اسکریپت قابلیتهای زیادی در کنترل browser بیننده دارد.
  • جاوا اسکریپت میتواند cookie بسازد و استفاده کند.
  • جاوا اسکریپت قابلیت ارزیابی و تغییر روی اطلاعات را دارد.

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی
  • درس یکم: مقدمات جاوا اسکریپت (الف)
    • معرفی جاوا اسکریپت
    • توانایی های جاوا اسکریپت
    • ساختار برنامه در جاوا اسکریپت
    • معرفی شی Document
    • معرفی خصوصیت InnerHTML
    • رویدادها (Events) و توابع (Functions)
  • درس دوم: مقدمات جاوا اسکریپت (ب): معرفی انواع داده (Data Type) و عملگرها در جاوا اسکریپت
    • نوع داده رشته ای (String)
    • نوع داده عددی (Number)
    • نوع داده منطقی (Boolean)
    • نوع داده آرایه (Array)
    • نوع داده شی (Object)
    • عملگر های جاوا اسکریپت (حسابی، انتسابی، مقایسه ای و منطقی)
    • عملگر سه حالته یا شرطی (Conditional Operator)
  • درس سوم: مقدمات جاوا اسکریپت (پ): پنجره های Popup، ساختارهای کنترلی
    • پنجره Alert
    • پنجره Confirm
    • پنجره Prompt
    • ساختار کنترلی if
    • ساختار کنترلی Switch
  • درس چهارم: تعریف توابع
  • درس پنجم: حلقه ها (Loops)
    • حلقه for
    • حلقه while
    • حلقه do-while
    • حلقه for-in (برای پیمایش Object ها)
  • درس ششم: رویدادها (Events)
    • رویدادهای ماوس
    • رویدادهای صفحه کلید
    • شیء Event
  • درس هفتم: مدیریت خطا و استثنا (بلوک try-catch)
  • درس هشتم: درخت مدل شیء گرای سند (Document Object Model)
    • تغییر محتوا از طریق DOM
    • تغییر Attribute ها از طریق DOM
    • تغییر Style از طریق DOM
    • تعیین Event ها از طریق DOM
    • روابط بین گره ها در درخت DOM
    • مفهوم childNodes و Siblings و parentNode
    • پیمایش درخت DOM
  • درس نهم: تغییر درخت DOM
    • ایجاد Node با متدهای createElement و createTextNode
    • افزودن Node با متدهای appendChild و insertBefore و replaceChild
    • حذف Node با removeChild
  • درس دهم: اشیاء جاوا اسکریپت – شیء رشته (String)
    • خصوصیات String) Length, Constructor, Prototype)
    • متدهای رشته
      • indexOf
      • lastIndexOf
      • concat
      • charCode
      • Replace
      • Split
      • Slice
      • Substr
      • متدهای Wrapper
      • و …
  • درس یازدهم: اشیاء جاوا اسکریپت – شیء Date یا تاریخ
    • سازنده های مختلف کلاس Date
    • متدهای مختلف کلاس Date
      • getDate
      • getDay
      • getFullYear
      • getHours
      • getMilliseconds
      • getMinutes
      • getMonth
      • getTime
      • و…
  • درس دوازدهم: اشیاء جاوا اسکریپت – شیء آرایه (Array)
    • خصوصیت Length
    • متدهای Array
      • indexOf
      • lastIndexOf
      • Concat
      • Join
      • Slice
      • Sort
      • toString
      • Push
      • Pop
      • Shift
      • Unshift
      • Reverse
      • و …
  • درس سیزدهم: اشیاء جاوا اسکریپت – کلاس Math (کار با ریاضیات)
    • خصوصیات Math
    • متدهای Math
      • Round
      • Random
      • Floor
      • Max
      • Min
      • Pow
      • Abs
      • و …
  • درس چهاردهم: اشیاء جاوا اسکریپت – کلاس RegExp یا Regular Expression (عبارات منظم یا باقاعده)
    • مفهوم عبارات منظم
    • Modifier ها
    • متدهای RegExp
      • Test
      • Exec
    • الگوها
    • متاکاراکترها
  • درس پانزدهم: شیء Window
    • اندازه پنجره (innerWidth و innerHeight)
    • متد open
    • متد close
    • متد moveTo
    • متد resizeTo
    • شیء Screen
    • اندازه Resolution و خصوصیت های availWidth و availHeight
    • شیء History و متدهای back و forward
    • آشنایی با شی Navigator
    • زمانبندی (Timing) و متدهای setInterval و setTimeout و clearInterval و clearTimeout
  • درس شانزدهم: تمرین اول – تمرین مباحث مقدماتی: آرایه ها و حلقه ها
  • درس هفدهم: تمرین دوم – توابع (شامل توابع بازگشتی)
  • درس هجدهم: تمرین سوم: DOM
  • درس نوزدهم: تمرین چهارم: DOM و SlideShow
  • درس بیستم: تمرین پنجم: DropDown Lists
  • درس بیست و یکم: تمرین ششم: DOM و عکس های popup
  • درس بیست و دوم: تمرین هفتم: DOM و تغییر منوی کلیک راست در صفحه وب
  • درس بیست و سوم: تمرین هشتم: DOM و عکس های popup با حالت mask کردن صفحه

برای یادگیری JavaScript چه چیز را باید از قبل بدانیم !
قبل از اینکه مطالعه ی آموزش JavaScript (جاوااسکریپت) را شروع کنید، شما باید دانش پایه ای(حداقلی) از موارد زیر را داشته باشید

  1. سی‌اس‌اس - (CSS)
  2. اچ‌تی‌ام‌ال - (HTML)

موردی یافت نشد