جاوا اسکریپت چگونه کار میکند ؟ | بررسی کامل

جاوا اسکریپت چگونه کار میکند ؟ | بررسی کامل

بنام خداوند عزیز سلام و خسته نباشید خدمت شما دوستان عزیز 

امروز اومدمی خدمتتون با یه مقاله ی دیگه راجب آموزش جاوا اسکریپت و امیدوارم که در ادامه ی این مقاله از خوندن اون اذت کافی رو ببرید . 

جاوا اسکریپت چگونه کار می‌کند؟

هنگامی که مرورگر یک صفحه وب را بار‌گذاری می‌کند، تجزیه کننده، اجرای کد‌های HTML را شروع می‌کند و مدل شی‌گرا متن برنامه (DOM) را ایجاد می‌کند. DOM در واقع یک رابط برنامه‌نویسی اپلیکیشن است که متن کد‌های HTML، XHTML یا XML را به‌صورت یک ساختار درختی در‌می‌آورد که در آن هر شاخه، یک شی به نمایندگی از کل برنامه است. پس از آن نوبت به CSS یا جاوا اسکریپت می‌رسد. در این هنگام اجرای کدهای مربوطه به تجزیه‌گر CSS یا موتور جاوا اسکریپت واگذار می‌شود. موتور جاوا اسکریپت، فایل‌های خارجی و همچنین کد‌های داخلی برنامه را بارگذاری می‌کند، ولی هیچ‌یک از کد‌ها را بلافاصله اجرا نمی‌کند. صبر می‌کند تا اجرای کد‌های HTML و CSS کامل شود. پس از آن تمام کد‌ها و هر آنچه که به جاوا اسکریپت مرتبط باشند، اجرا می‌شوند: متغیر‌ها و توابع تعریف شده، توابعی که فراخوانی شده و در حال اجرا هستند و مواردی از این قبیل. نتایج حاصل از این فعالیت‌ها در DOM به‌وسیله جاوا اسکریپت آپدیت شده و توسط مرور‌گر نمایش داده می‌شوند.

چه کارهایی می‌توان با جاوا اسکریپت انجام داد؟

جاوا اسکریپت یک زبان برنامه نویسی تکامل یافته است که در مرور‌گر وب شما قرار گرفته و تمامی قابلیت‌های یک زبان برنامه نویسی معمولی را دارد. این ویژگی‌ها عبارتند از:

  • تعریف متغیر‌ها
  • ذخیره و بازیابی مقادیر
  • تعریف و فرا‌خوانی توابع
  • تعریف کلاس‌ها
  • بارگذاری و استفاده از ماژول‌های خارجی
  • تعریف و نوشتن پردازنده رویداد که به کاربر و سایر موارد پاسخ می‌دهد

قطعا این زبان برنامه نویسی قابلیت‌های بسیار زیادی دارد که فقط چند مورد از آن‌ها در بالا ذکر شد.

سه گانه صفحه وب

اگر اجزای ایجاد یک صفحه وب را اضلاع یک مثلث در نظر بگیرید، جاوا اسکریپت سومین ضلع در این سه گانه به حساب می‌آید. دو ضلع دیگر، HTML و CSS هستند. HTML، صفحه را توصیف می‌کند که شامل مواردی مانند نوع و اندازه متن، تصاویر و سایر موارد از این دست می‌شود. CSS جهت کنترل و شخصی سازی ظاهر صفحه وب استفاده می‌شود که شامل رنگ‌ها، نوع فونت و موارد مشابه آن است. جاوا اسکریپت نیز برای اضافه کردن مولفه‌ها و اجزای پویل به صفحه وب مورد استفاده قرار می‌گیرد. همچنین با استفاده از جاوا اسکریپت، می‌توان اکثر المان‌های صفحه را برنامه پذیر کرد. 

محیط اجرایی جاوا اسکریپت در بستر مرورگر
 

هر مرورگر ی یه محیط اجرایی جاوا اسکریپت داره که این محیط اجرایی یسری API ها رو در اختیار برنامه نویس قرار میده ، چیزهایی مثل AJAX , DOM , setTimeOut .

اینا جز هسته اصلی خود جاوا اسکریپت نیستن،  اینا آبجکت و متدهایی هستن که مرورگر در محیط اجرایی جاوا اسکریپت خودش در اختیار موتور اصلی برنامه میذاره.

در واقع موتور جاوا اسکریپت جزیی از محیط اجرایی جاوا اسکریپت مرورگر هست.

هر مرورگر موتور مخصوص خودش رو داره، کروم از موتوری به اسم V8 استفاده میکنه که الان میخوایم نگاهی بهش بندازیم.

 

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

 

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

 

اول یه تعریف کلی v8 از ویکی پدیا بخونیم:

Google V8 JavaScript Engine یک موتور جاوااسکریپت متن‌باز است که توسط گوگل توسعه‌یافته و همراه مرورگر گوکل کروم عرضه می‌شود. لارس باک رئیس برنامه‌نویسی آن است.

وی۸ با کامپایل کردن جاوااسکریپت به زبان محلی ماشین قبل از اجرا به جای اجرای بایت کد یا سپردن آن به مفسر کارایی را افزایش می‌دهد.

بیشتر افزایش کارایی در آن به‌وسیلهٔ به‌کارگیری فن‌هایی بهینه‌سازی‌ای چون استفاده از نهانگاه درون‌برنامه‌ای (Inline caching) به‌دست می‌آید.

با این قابلیت‌ها برنامه‌هایی که با موتور وی۸ اجرا می‌شوند سرعت خوبی دارا هستند که با کدهای اجرایی کامپایل شده قابل مقایسه است.

زمانی که کروم کدهای جاوا اسکریپت رو دریافت میکنه، موتور V8 شروع به تجزیه اونها می‌کنه.

در ابتدا کل کدها یکبار چک می‌شن تا مشکل و خطای سینتکسی نداشته باشن.

اگر در این مرحله خطایی مشاهده نشد، موتور شروع به خوندن کدها از بالا به پایین میکنه.

هدف نهایی اینه که کدهای جاوا اسکریپت تبدیل به کدهای ماشین بشن تا کامپیوتر بتونه اونها رو متوجه بشه.

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

خب اینم از جمع بندی نهایی این مقاله امیدوارم که لذت کافی رو برده باشید و خوشتون بیاد 

حتما نظراتتون رو برامون بنویسید که خوشحال میشیم :) 

از بهترین نوشته‌های کاربران سکان آکادمی در سکان پلاس


online-support-icon