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

زبان برنامه نویسی جاوا اسکریپت یک زبان برنامه نویسی شی گرا است که در ابتدا توسط Netscape Communications با نام LiveScript توسعه یافت، اما بعداً به "JavaScript" تغییر نام داد و نحوی نزدیک به جاوای Sun Microsystems داشت. جاوا اسکریپت بعداً توسط ECMA با نام ECMAScript استاندارد شد. مایکروسافت نسخه های خود را JScript می نامد.

تغییر نام از لایو اسکریپت به جاوا اسکریپت تقریباً همزمان با پشتیبانی Netscape از فناوری جاوا در مرورگر Netscape Navigator اتفاق افتاد. این تغییر سردرگمی زیادی در ذهن کسانی که برنامه نویسی را برای مبتدیان یاد می گیرند ایجاد کرده است. هیچ ارتباط واقعی بین جاوا و جاوا اسکریپت وجود ندارد؛ شباهت‌های آنها با نحو مشابه و این واقعیت که هر دو زبان به طور گسترده در اینترنت استفاده می‌شوند شروع و پایان می‌یابد.

جاوا اسکریپت یک زبان برنامه نویسی شی گرا است که از طریق رابطی به نام مدل شیء سند (DOM) با محتوایی که می تواند در سمت سرور (سرورهای وب) و در سمت سرویس گیرنده در مرورگر وب کاربر هنگام مشاهده صفحات وب اجرا شود، تعامل دارد. بسیاری از وب سایت ها از فناوری های جاوا اسکریپت سمت سرویس گیرنده برای ایجاد برنامه های وب پویا قدرتمند در برنامه نویسی برای ساختگی ها استفاده می کنند. می تواند از یونیکد استفاده کند و می تواند از قدرت و قدرت استفاده کند عبارات با قاعده(این در نسخه 1.2 Netscape Navigator 4 معرفی شد و اینترنت اکسپلورر 4). عبارات جاوا اسکریپت موجود به عنوان یک رشته را می توان با استفاده از تابع EVAL اجرا کرد.

یکی از چالش های اصلی جاوا اسکریپت توابع کوچکی است که در آن تعبیه شده است صفحات HTMLو به شما امکان می دهد برای اجرا با DOM از مرورگر تعامل داشته باشید وظایف خاصکه در HTML ایستا امکان پذیر نیست: مانند باز کردن یک پنجره جدید، اعتبارسنجی مقادیر وارد شده در یک فرم، تغییر تصویر هنگام نگه داشتن نشانگر ماوس و غیره. متأسفانه، نوشتن چنین توابعی بسیار خسته کننده است زیرا مرورگرها استاندارد نیستند، مرورگرهای مختلف ممکن است اشیاء یا روش های برنامه نویسی متفاوتی ایجاد کنند و بنابراین اغلب مجبور به نوشتن نسخه های مختلف هستید. توابع جاوا اسکریپتبرای مرورگرهای مختلف، اما این در هنگام یادگیری اصول برنامه نویسی خیلی راحت نیست.

جاوا اسکریپت / ECMAScript توسط موتورهایی مانند:

  • کرگدن
  • میمون عنکبوتی

محیط

برای اطمینان از اینکه کد در مرورگرهایی که کد را نمی شناسند به صورت متن نمایش داده نمی شود، نظر نشانه گذاری لازم است. با این حال، برچسب‌ها در اسناد XHTM/XML در صورت اظهار نظر کار نمی‌کنند. مرورگرهای مدرنی که از XHTML و XML پشتیبانی می کنند به اندازه کافی برای شناسایی طراحی شده اند، بنابراین کد موجود در این اسناد بدون توضیح باقی می ماند.

یک عنصر HTML می تواند رویدادهای داخلی را ایجاد کند که یک کنترل کننده اسکریپت می تواند به آن متصل شود. برای ایجاد حق سند HTML 4.01، شما باید یک عبارت پیوند اسکریپت پیش فرض مناسب را در قسمت سرصفحه سند وارد کنید.

عناصر زبان

متغیرها

متغیرها معمولاً به صورت پویا تایپ می شوند. متغیرها یا با اختصاص دادن یک مقدار به آنها یا با استفاده از عملگر "var" تعریف می شوند. متغیرهای اعلام شده در خارج از یک تابع در محدوده "جهانی" هستند و در سراسر صفحه وب قابل مشاهده هستند؛ متغیرهای اعلام شده در داخل یک تابع محلی برای آن تابع هستند. برای انتقال متغیرها از یک صفحه به صفحه دیگر، توسعه دهنده می تواند یک "کوکی" تنظیم کند یا از یک قاب یا پنجره پنهان در آن استفاده کند. زمینهبرای ذخیره سازی آنها

ساختارهای داده

نوع اصلی یک ساختار داده آرایه انجمنی است که شبیه به هش در زبان برنامه نویسی پرل یا دیکشنری های Python، Postscript و Smalltalk است.

عناصر را می توان با اعداد یا نام های مرتبط (در صورتی که اینها تعریف شده باشند) دسترسی داشت. بنابراین، عبارات زیر ممکن است همه معادل باشند:

MyArray،
myArray.north،
myArray ["شمالی"].

اعلان آرایه ها

MyArray = آرایه جدید (365);

آرایه ها به گونه ای پیاده سازی می شوند که فقط عناصر خاص (غیر خالی) از حافظه استفاده کنند، آنها "آرایه ها را تخلیه می کنند". اگر مجموعه myArray = "something there" و myArray = "something other there" را تنظیم کنیم، پس فقط برای این دو عنصر از فضا استفاده کرده ایم.

اشیاء

جاوا اسکریپت انواع مختلفی از اشیاء داخلی دارد که عبارتند از Object، Array، String، Number، Boolean، Function، Date و Math. سایر اشیاء متعلق به اشیاء DOM (پنجره ها، فرم ها، پیوندها و غیره) هستند.

با تعریف توابع سازنده می توانید اشیا را تعریف کنید. جاوا اسکریپت یک زبان شی گرا مبتنی بر نمونه اولیه است. شما می توانید ویژگی ها و متدهای اضافی را پس از ایجاد اشیاء به تک تک آنها اضافه کنید. برای انجام این کار، می توانید از یک دستور نمونه اولیه برای تمام نمونه های یک نوع شی خاص استفاده کنید.

مثال: ایجاد یک شی
// تابع سازنده

تابع MyObject(خصیصه A، ویژگیB) (this.attributeA = خصیصهA this.attributeB = ویژگیB)
// یک شی بسازید
obj = MyObject جدید ("قرمز"، 1000)

// دسترسی به یک ویژگی شی
هشدار(obj.attributeA)

// دسترسی به ویژگی با تعیین آرایه انجمنی
هشدار(obj["ویژگیA"])

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

Function Base() ( this.Override = _Override; this.BaseFunction = _BaseFunction؛ تابع _Override() ( alert("Base::Override()"); ) function _BaseFunction() (alert("Base::BaseFunction()" ) ) تابع Derive() ( this.Override = _Override؛ تابع _Override() ( alert("Derive::Override()"); ) ) Derive.prototype = new Base(); d = new Derive(); d.Override(); d.BaseFunction();

در نتیجه، روی صفحه نمایش می‌شویم: Derive::Override() Base::BaseFunction()

دستورالعمل های کنترل
اگر ... دیگری اگر (شرط) (گزاره ها)
چرخه ها
while (شرط) (گزاره ها ) Do ... while do ( statements ) while (شرط); حلقه For برای (; ; ) ( عبارات ) برای حلقه ... در
این حلقه از تمام خصوصیات یک شی (یا عنصر در یک آرایه) عبور می کند.
برای (متغیر در شی) (گزاره)

اپراتور انتخاب
سوئیچ (عبارت) ( case label1: عبارات؛ break؛ case label2: عبارات؛ break؛ پیش فرض: عبارات؛ )

کارکرد
بدنه تابع در (بدنه می‌تواند خالی باشد)، و لیست آرگومان‌ها در داخل () به دنبال نام تابع نشان داده شده است. توابع می توانند پس از اجرا مقداری را برگردانند.

تابع (arg1، arg2، arg3) (عبارات؛ عبارت بازگشتی؛)

به عنوان مثال، اجازه دهید به تابعی بر اساس الگوریتم اقلیدسی بزرگترین مقسوم‌عمل نگاه کنیم:

تابع gcd(a, b) ( while (a != b) ( if (a > b) (a = a - b; ) other (b = b - a; ) ) a;

تعداد آرگومان‌ها هنگام فراخوانی یک تابع معین، لزوماً نباید آنقدر آرگومان ارائه کند که در زمان اعلان تابع مشخص شده بود. در یک تابع، آرگومان ها از طریق آرایه آرگومان نیز قابل دسترسی هستند.

هر تابع یک نمونه از یک تابع، یک نوع پایه از شی است. توابع را می توان مانند هر شیء دیگر ایجاد و تخصیص داد:

Var myFunc1 = تابع جدید ("هشدار("سلام")"); var myFunc2 = myFunc1; myFunc2();

نتیجه روی صفحه:

تعامل کاربر

بیشتر تعاملات کاربر با استفاده از فرم های HTML انجام می شود که از طریق HTML DOM قابل دسترسی است. با این حال، برخی از بسیار نیز وجود دارد درمان های سادهارتباط با کاربر:

کادر گفتگوی هشدار
کادر محاوره ای را تایید کنید
خطوط گفتگو
نوار وضعیت
کنسول ها

عناصر متنی می‌توانند منبع رویدادهای مختلف باشند، که در صورت ثبت یک کنترل‌کننده رویداد EMCAScript، می‌توانند اقداماتی را آغاز کنند. در HTML، این توابع کنترل کننده رویداد اغلب به عنوان توابع ناشناس به طور مستقیم در تگ های HTML تعریف می شوند.

JavaScript® (اغلب به JS خلاصه می شود) یک زبان برنامه نویسی تفسیر شده است که برای تعامل با صفحات وب طراحی شده است. جاوا اسکریپت در سمت کلاینت اینترنت اجرا می‌شود و برای برنامه‌ریزی نحوه رفتار صفحات وب هنگام وقوع رویدادهای خاص استفاده می‌شود.

جاوا اسکریپت چیست؟

جاوا اسکریپت یک زبان اسکریپت نویسی بین پلتفرمی و شی گرا است که تعامل و پاسخگویی را به صفحات وب شما اضافه می کند.

جاوا اسکریپت به توسعه دهنده وب سایت اجازه می دهد تا نحوه رفتار صفحه وب را کنترل کند. این باعث می شود که جاوا اسکریپت اساساً با HTML، زبانی که مسئول ساختار یک سند وب است و CSS، زبانی که تشکیل می شود متفاوت باشد. ظاهرصفحات وب.

برنامه های نوشته شده در جاوا اسکریپت، اسکریپت نامیده می شوند. در مرورگر، آنها مستقیماً به سند HTML متصل می شوند و به محض بارگیری صفحه، بلافاصله اجرا می شوند. فرآیند اجرای یک اسکریپت "تفسیر" نامیده می شود.

اگر اسکریپت PHP در سمت سرور با با استفاده از PHPمفسر، سپس جاوا اسکریپت در مرورگر کاربر توسط مفسر جاوا اسکریپت اجرا می شود.

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

در مرورگر، جاوا اسکریپت می‌تواند همه کارهای مربوط به دستکاری سند HTML، تعامل با بازدیدکننده، و با برخی محدودیت‌ها، تعامل با سرور را انجام دهد:

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

JavaScipt یک زبان فوق العاده قدرتمند و کارآمد است که حتما باید آن را امتحان کنید!

جاوا اسکریپت در مقابل ECMAScript

این آموزش در مورد زبانی نوشته شده است که به نام جاوا اسکریپت شناخته می شود. با این حال، استاندارد رسمی که مشخصاتی را که این زبان را توصیف می کند تعریف می کند، آن را ECMAScript می نامد.

نت اسکیپ زبان جاوا اسکریپت را به Ecma International ارسال کرد، سازمانی که به استانداردسازی سیستم های اطلاعات و ارتباطات اختصاص داشت (ECMA در ابتدا مخفف انجمن سازندگان کامپیوتر اروپا بود)، جایی که در سال 1997 به عنوان استاندارد ECMAScript تایید شد.

این استاندارد شد نسخه جاوااسکریپت که ECMAScript نامیده می شود، در همه برنامه هایی که از استاندارد پشتیبانی می کنند یکسان عمل می کند. توسعه دهندگان می توانند از استاندارد زبان باز برای توسعه پیاده سازی جاوا اسکریپت خود استفاده کنند.

به طور رسمی، زمانی که توسعه دهندگان به ECMAScript مراجعه می کنند، معمولاً به زبان "ایده آل" تعریف شده توسط استاندارد Ecma اشاره می کنند. اغلب، این دو مفهوم قابل تعویض هستند. بنابراین در هنگام مراجعه به استاندارد رسمی در این آموزش از نام ECMAScript و در سایر موارد هنگام مراجعه به زبان از جاوا اسکریپت استفاده خواهد شد. کتاب درسی همچنین از مخفف رایج ES5 هنگام اشاره به نسخه پنجم استاندارد ECMAScript استفاده خواهد کرد.

جاوا اسکریپت جاوا نیست

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

جاوا یک زبان برنامه نویسی شی گرا است که توسط Sun Microsystems از سال 1991 توسعه یافت و به طور رسمی در 23 می 1995 منتشر شد. جاوا یک زبان برنامه نویسی قدرتمند و بسیار پیچیده تر است و می توانید برنامه های متنوعی را در آن بنویسید. یک فرصت ویژه برای صفحات اینترنتی - اپلت های نوشتن وجود دارد.

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

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

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

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

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

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

اکثریت اسکریپت های جاوا اسکریپتبرای "احیای" HTML طراحی شده اند، یعنی هدف از ایجاد یک اسکریپت نشان دادن چگونگی تغییر ظاهر صفحه هنگام تغییر مقادیر پارامترهای تگ HTML است. این نوع سناریوها با جمع آوری و فرمت مناسب نمونه ای از یک برنامه وب توسعه یافته هستند.

قبل از شروع نوشتن اولین برنامه جاوا اسکریپت، بسیار مهم است که مطمئن شویم همه ابزارهای لازم را پیکربندی و در جای خود داریم.

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

برای نوشتن و اجرای برنامه های جاوا اسکریپت، کافی است هر مرورگر اینترنتی مدرن را نصب کنید (به عنوان مثال، Yandex، Internet Explorer، موزیلا فایرفاکسیا گوگل کروم).

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

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

به طور معمول، کنسول وب را می توان با فشار دادن F12 یا راه اندازی کرد ترکیب داغکلیدها - Ctrl + Shift + J. معمولاً پانل یا پنجره یک "ابزار توسعه دهنده" معمولی به عنوان باز می شود پنل مجزادر بالا یا پایین پنجره مرورگر همانطور که در شکل نشان داده شده است. 1.

این پنل شامل تب های زیادی است که به شما امکان می دهد ساختار سند HTML، سبک های CSS و غیره را بررسی کنید. از جمله آنها تب کنسول جاوا اسکریپت است که می توانید خطوط کد جاوا اسکریپت را وارد کرده و آنها را اجرا کنید.

برای تجزیه و تحلیل دقیق تر کد برنامه، ما نیاز داریم ویرایشگر متنبا قابلیت های اضافی که نوشتن و ویرایش کد برنامه را ساده می کند. به این ترتیب، ما از ویرایشگر Notepad++ استفاده خواهیم کرد. اگر در حال حاضر از ویرایشگر دیگری استفاده می کنید و توانسته اید به آن عادت کنید، هیچ چیز مانع ادامه استفاده از آن نمی شود.

با بیشتر مثال‌های ارائه شده در آموزش ما، می‌توانید مستقیماً در صفحه سایت با استفاده از ابزار داخلی - ویرایشگر کوچک JS آزمایش کنید.

برای اینکه نتیجه اجرای اسکریپت را در یک پنجره جدید ببینید، روی نماد کلیک کنید و اگر می خواهید چیزی در کد تغییر دهید، روی نماد کلیک کنید.

این یک سند معمولی HTML است

به HTML برمی گردیم

لطفاً توجه داشته باشید: در آزمایش‌های ساده جاوا اسکریپت مانند این، می‌توانید تگ‌های , را در فایل HTML نیز حذف کنید.

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

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

سعی کنید چند نکته ساده اما اثبات شده را دنبال کنید.

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

بدترین زمان برای مطالعه زمانی است که احساس خستگی می کنید. در چنین لحظاتی، نکته اصلی این است که خود را مجبور نکنید - نتیجه مورد انتظار را نخواهید گرفت. مغز انسان نمی تواند چیزی را به طور نامحدود یاد بگیرد - باید به آن استراحت داده شود. طبق اصل 25/5 تمرین کنید. تمرین 25 دقیقه تدریس و 5 دقیقه استراحت را امتحان کنید. مغز شما به چنین بارهای یکنواختی عادت می کند و تا حد امکان کارآمدتر کار می کند.

از شیوه های یادآوری استفاده کنید - اساس یادگیری. هر چه بیشتر اطلاعات را به خاطر بیاوریم، مدت بیشتری در حافظه ما ذخیره می شود.

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

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

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

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

زبان های برنامه نویسی فقط ابزاری هستند که شخص با آن قوانینی را در سیستم های ایجاد شده ایجاد می کند.

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

اطلاعات کلی

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

تنها چیزی که از Sun لازم بود اجازه استفاده از بخشی از نام بود. با کمال تعجب، جاوا اسکریپت اصلاً متعلق به هیچ شرکتی نیست.

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

  • شی گرایی. اجرای برنامه نشان دهنده تعامل اشیاء است.
  • تبدیل نوع داده به طور خودکار انجام می شود.
  • توابع اشیایی از کلاس پایه هستند. این ویژگی جاوا اسکریپت را شبیه به بسیاری از زبان های برنامه نویسی کاربردی مانند Lisp و Haskell می کند.
  • پاکسازی خودکار حافظه به اصطلاح زباله جمع آوری جاوا اسکریپت را شبیه به سی شارپ یا جاوا می کند.

اگر در مورد ماهیت استفاده از جاوا اسکریپت صحبت کنیم، پس این زبان به شما امکان می دهد صفحات وب سایت بدون حرکت را با استفاده از کدهایی که می توانند برای اجرا راه اندازی شوند (به اصطلاح اسکریپت) "احیای" کنید. یعنی می‌توانیم با کارتون‌ها قیاسی ترسیم کنیم که html و css شخصیت‌های ترسیم شده هستند و جاوا اسکریپت چیزی است که آنها را به حرکت وا می‌دارد.

اگر در مورد نحو جاوا اسکریپت صحبت کنیم، ویژگی های زیر را دارد:

  • ثبت نام مهم است توابعی که func () و Func () نامیده می شوند کاملاً متفاوت هستند.
  • اپراتورها باید با نقطه ویرگول دنبال شوند.
  • اشیاء و عملیات داخلی؛
  • فضاها محاسبه نمی شود. می‌توانید به تعداد دلخواه از تورفتگی‌ها و همچنین شکسته‌های خط برای قالب‌بندی کد خود استفاده کنید.

ساده ترین کد جاوا اسکریپت به شکل زیر است:

دامنه کاربرد

برای درک اینکه چرا جاوا اسکریپت مورد نیاز است و یادگیری آن چقدر ضروری است، باید برخی از زمینه هایی را که در آنها استفاده می شود برجسته کنیم. زبان داده شدهبرنامه نويسي.

  • توسعه برنامه های کاربردی وب. آیا می خواهید یک پیشخوان ساده نصب کنید، انتقال داده ها را بین فرم ها سازماندهی کنید یا یک بازی را در وب سایت خود قرار دهید؟ سپس جاوا اسکریپت یک دستیار وفادار در این مورد خواهد بود.
  • "مشارکت فعال" در AJAX. این فناوری با تبادل داده ها با سرور در حالت "پس زمینه" سرعت عملکرد برنامه ها را به میزان قابل توجهی افزایش داده است:
  • سیستم عامل ممکن است برخی از مردم ندانند، اما ویندوز، لینوکس و مک رقبای مرورگر خود را دارند که سهم بزرگ آنها با جاوا اسکریپت نوشته شده است.
  • برنامه های موبایل؛
  • رشته تحصیلی. هر تخصص برنامه نویسی در یک دانشگاه شامل مطالعه جاوا اسکریپت تا حدودی است. این به دلیل این واقعیت است که این زبان در ابتدا برای برنامه نویسان نه چندان قوی توسعه یافته است. درس های جاوا اسکریپت به طور منطقی در هم تنیده شده اند دوره پایه HTML، بنابراین تسلط بر آن بسیار ساده است.
مزایا و معایب

فکر نکنید که جاوا اسکریپت نوعی دارو برای همه مشکلات است و هر برنامه نویسی با لبخندی بر لب از این زبان استفاده می کند. هر چیزی در دنیا جنبه های مثبت و منفی خود را دارد. ابتدا به کاستی ها اشاره می کنیم.

  • نیاز به ارائه سازگاری بین مرورگرها. از آنجایی که جاوا اسکریپت به عنوان یک فناوری اینترنت عمل می کند، باید قوانینی را که آن تعیین می کند، تحمل کنید شبکه جهانی وب. کد باید در همه یا حداقل محبوب ترین مرورگرها به درستی اجرا شود.
  • سیستم ارثی در یک زبان درک آنچه را که اتفاق می افتد دشوار می کند. جاوا اسکریپت وراثت مبتنی بر نمونه اولیه را پیاده سازی می کند. افرادی که سایر زبان های برنامه نویسی شی گرا را مطالعه کرده اند به کلاس معمولی "کلاس فرزند ارث می برند کلاس والد" عادت کرده اند. اما در جاوا اسکریپت، چنین چیزهایی مستقیماً توسط اشیا مدیریت می‌شوند، و این خارج از درک شماست.
  • غایب کتابخانه استاندارد. جاوا اسکریپت هیچ قابلیتی برای کار با فایل ها، جریان های ورودی/خروجی یا سایر موارد مفید ارائه نمی دهد.
  • نحو به طور کلی درک آن را دشوار می کند. زیبایی کد واضح است که نقطه قوت جاوا اسکریپت نیست، اما قانون اصلی برنامه نویسان رعایت می شود: «آیا کار می کند؟ دست نزن! "
اکنون شایان ذکر است که برخی از مزایا
  • جاوا اسکریپت تعداد زیادی از قابلیت ها را برای حل طیف گسترده ای از مشکلات فراهم می کند. انعطاف پذیری زبان امکان استفاده از بسیاری از الگوهای برنامه نویسی را در رابطه با شرایط خاص فراهم می کند. ذهن مبتکر لذت واقعی خواهد داشت.
  • محبوبیت جاوا اسکریپت تعداد قابل توجهی از کتابخانه های آماده را برای برنامه نویس باز می کند که می تواند به طور قابل توجهی نوشتن کد را ساده کرده و عیوب نحوی را صاف کند.
  • کاربرد در بسیاری از زمینه ها. قابلیت های گسترده جاوا اسکریپت به برنامه نویسان این فرصت را می دهد تا خود را به عنوان توسعه دهنده برنامه های متنوعی امتحان کنند و البته این باعث علاقه به فعالیت های حرفه ای می شود.

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

برای کسانی که می خواهند درس بخوانند

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

  • اول از همه، HTML. بدون اصول اولیه نمی توانید کاری برای اینترنت انجام دهید. برگه های سبک آبشاری (CSS) نیز بسیار مفید خواهد بود.
  • از ادبیات جدید استفاده کنید. برنامه نویسی فیزیک نیست که قوانین آن خدشه ناپذیر است، بلکه قوانین جدیدی است وسایل کمک آموزشی- اینها قدیمی ها را از بین می برند. فن‌آوری‌های فناوری اطلاعات دائماً در حال پیشرفت هستند و نباید از به‌روزرسانی‌های مفید غافل شد.
  • سعی کنید تمام بخش های برنامه را خودتان بنویسید. اگر چیزی به هیچ وجه درست نشد، می‌توانید کد شخص دیگری را قرض بگیرید، اما فقط پس از اینکه ابتدا هر خط را برای خودتان درک کنید.
  • اشکال زدایی بهترین دوست شماست. یافتن سریع خطاها یکی از این موارد است مهمترین لحظاتدر برنامه نویسی؛
  • قوانین قالب بندی را نادیده نگیرید. البته به دلیل تعداد تورفتگی ها و فاصله های مختلف، کد بهتر یا بدتر نمی شود، اما سهولت خواندن و درک توسط برنامه نویس نیز نکته مهمی است. کد زیر؟ درک بسیار دشوار است، به خصوص اگر شما او نباشید
  • نام متغیرها باید معنای لغوی داشته باشد. در حال نوشتن برنامه های سادهاین به هیچ وجه مهم به نظر نمی رسد، اما زمانی که تعداد خطوط کد از هزار عبور می کند، همه شیاطین پاهای خود را می شکنند.

هنوز نمی دانید جاوا اسکریپت چیست؟ در این مقاله می توانیم پاسخ را پیدا کنیم.

کمی تئوری

مرورگرها و بسیاری از برنامه های دیگر اغلب از جاوا اسکریپت استفاده می کنند. این یک زبان برنامه نویسی اسکریپت است و از یک مدل مبتنی بر نمونه اولیه استفاده می کند و به راحتی تایپ می شود. این زبان به طور قابل توجهی تحت تأثیر زبان قبلی خود - ECMAScript قرار گرفت.

هدف کلی از ایجاد آن این بود که استفاده از آن توسط افراد غیرمتخصص و کار با آن آسان باشد. جاوا اسکریپت در حال حاضر یکی از محبوب ترین زبان های برنامه نویسی در نوع خود است. چیزی که استفاده از آن را آسان تر می کند این است که در برنامه ها تعبیه شده است. جاوا اسکریپت یک زبان شی گرا است، اما عملکرد آن با آنچه که انواع زبان های مشابه معمولا ارائه می کنند، تفاوت زیادی دارد.

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

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

چگونه جاوا اسکریپت را فعال کنیم؟

— کد جاوا اسکریپت در این کانتینر متصل است.
- نمونه ای از اتصال کتابخانه animate.js که در همان پوشه این صفحه html قرار دارد. src(source) - مسیر فایل.

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

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

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

طبق آمار Github، در حال حاضر جاوا و جاوا اسکریپت پس از پایتون، پی‌اچ‌پی و روبی محبوب‌ترین زبان‌های برنامه‌نویسی هستند. با وجود شباهت در نام آنها، این زبان ها بسیار متفاوت هستند. ممکن است فکر کنید که جاوا اسکریپت یک نسخه ساده تر و سبک تر از جاوا است. اما شما اشتباه می کنید. این دو زبان برنامه نویسی کاملاً متفاوت هستند که به شما امکان انجام کارهای متفاوت را می دهند، اما در عین حال تفاوت های آنها بیشتر از شباهت ها است.

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

اولین نسخه جاوا با کدهای "Oak" و "Green" پس از توسعه اولیه، در می 1995 منتشر شد. بسیاری از برنامه نویسان در آن زمان این زبان را به عنوان جایگزینی برای C/C++ می دانستند، زیرا دارای نحو مشابهی بود و همچنین مفاهیم جدیدی را معرفی کرد. این زبان برنامه نویسی را آسان تر و ایمن تر کرد.

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

این توسط ماشین جاوا (JVM) امکان پذیر شده است. ماشین جاوا یک برنامه معمولی است که به عنوان یک واسطه بین آن عمل می کند سیستم عاملو فایل Jar. یک فایل برنامه حاوی دستورالعمل های جاوا را می خواند و آنها را به دستورالعمل هایی برای پلتفرمی که در زمان اجرا روی آن اجرا می شود تبدیل می کند. این فرآیند را کامپایل Just-in-time یا JIT می نامند.

جاوا اسکریپت چیست؟

جاوا اسکریپت به عنوان یک زبان ساده برای ایجاد محدودیت ظاهر شد فرم های HTML. هنگامی که Netscape Communications تصمیم گرفت اینترنت پویاتری می‌خواهد، زبان جدیدی ایجاد کرد که می‌توانست مستقیماً در HTML استفاده شود. این زبان LiveScript نام داشت و در مدت ده روز توسعه یافت.

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

برخلاف جاوا که کامپایل می شود، جاوا اسکریپت یک زبان کاملاً تفسیر شده است. وقتی از سایتی بازدید می کنید که از جاوا اسکریپت استفاده می کند، مرورگر شما کد منبع کامل برنامه را دریافت می کند. سپس با استفاده از موتور جاوا اسکریپت در پرواز اجرا می شود. مرورگرهای مختلفآنها از موتورهای مختلفی استفاده می کنند: V8 (Chrome)، SpiderMonkey (Firefox)، چاکرا (Edge) و غیره.

جنبه های مشابه جاوا یا جاوا اسکریپت

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

  • برنامه نویسی هدف گرا (OOP) - هر دو زبان برنامه نویس را ملزم می کنند که از اصول اشیاء و روابط بین آنها در هنگام کدنویسی استفاده کند. هر دو زبان از الگوهای OOP مانند رابط ها، کپسولاسیون و چندشکلی پشتیبانی می کنند.
  • توسعه Forend - هر دو زبان را می توان برای توسعه یک forend، به عبارت دیگر، یک رابط کاربری که در ارتباط با سرور کار می کند، استفاده کرد. جاوا اسکریپت را می توان در HTML یا به عنوان یک کتابخانه شخص ثالث در صفحات سایت جاسازی کرد. و جاوا می تواند در مرورگر به عنوان یک اپلت جاوا اجرا شود.
  • توسعه Backend - به عبارت دیگر - توسعه نرم افزار سرور. جاوا مدت‌هاست که در فناوری‌های بک‌اند توسط پروژه‌های Apache، JBoss و WebSphere استفاده می‌شود. تکنولوژی جدید Node.js به شما اجازه می دهد تا سرورهای نوشته شده با جاوا اسکریپت را اجرا کنید.
تفاوت های اصلی بین جاوا و جاوا اسکریپت

در ابتدا، زبان ها برای حل مسائل کاملاً متفاوت توسعه داده شدند. جاوا بیشتر برای ایجاد برنامه های کاربردی کامل در نظر گرفته شده است، در حالی که جاوا اسکریپت یک زبان برنامه نویسی برای سازماندهی یک رابط در وب است. در اینجا تفاوت های اصلی وجود دارد تا درک تفاوت بین جاوا و جاوا اسکریپت آسان تر شود:

  • قابلیت کامپایل و تفسیر - همانطور که در بالا نوشتم، جاوا یک زبان برنامه نویسی کامپایل شده است و جاوا اسکریپت تفسیر می شود. تنها تفاوت در پیاده سازی است؛ در واقع هر دو زبان می توانند بر روی پلتفرم های مختلف اجرا شوند.
  • بررسی نوع استاتیک و پویا - جاوا از بررسی نوع استاتیک استفاده می کند. نوع متغیر در زمان کامپایل بررسی می شود. برنامه نویس باید به صراحت نوع متغیر را مشخص کند - رشته، عدد، عدد ممیز شناور و غیره). جاوا اسکریپت مانند سایر زبان های برنامه نویسی از تایپ پویا استفاده می کند. استفاده صحیح از انواع در زمان اجرا بررسی می شود. برنامه نویس نیازی به تعیین نوع متغیر در زمان اعلام آن ندارد. هر دو رویکرد مزایا و معایب زیادی دارند. مهمترین تفاوت بین جاوا و جاوا اسکریپت این است که با تایپ ایستا، اکثر خطاها در مرحله توسعه ظاهر می شوند، زیرا کامپایلر می داند چه انتظاری دارد، کد سریعتر اجرا می شود و حافظه کمتری مصرف می کند. مزیت تایپ پویا این است که برنامه ها سریعتر و راحت تر نوشته می شوند.
  • همزمانی - اجرای توانایی اجرای چندین توالی از دستورالعمل ها به طور همزمان در جاوا و جاوا اسکریپت بسیار متفاوت است. جاوا به شما اجازه می دهد تا از چندین رشته برای اجرای وظایف موازی استفاده کنید. پیاده سازی همزمانی در جاوا اسکریپت بسیار پیچیده است. فقط در Node.js موجود است. در رشته اصلی، این از طریق یک صف اجرا به نام حلقه رویداد پیاده سازی می شود. هر دو روش به خوبی کار می کنند، اما موضوعات جاوا سریعتر هستند.
  • کلاس ها و اشیاء - جاوا از کلاس ها و روابط بین آنها استفاده می کند. خصوصیات یک شی در یک کلاس تعریف شده و جزء غیرقابل تغییر کلاس است. شما می توانید کلاس ها را از کلاس های دیگر به ارث ببرید و سپس آنها تمام ویژگی های والدین خود را دریافت می کنند. ممکن است تعجب کنید، اما هیچ کلاسی در جاوا اسکریپت وجود ندارد. در آنجا فقط اشیاء وجود دارد. و ارث به گونه ای متفاوت اجرا می شود. همه اشیا را می توان مستقیماً از اشیاء دیگر به ارث برد. برای این کار کافیست شی مورد نظر را به عنوان نمونه اولیه مشخص کنید.
چه زمانی استفاده از آن بهتر است؟

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

اگر در حال توسعه هستید بهتر است جاوا را انتخاب کنید:

  • اپلیکیشن اندروید;
  • نرم افزارهای تجاری؛
  • نرم افزار محاسبات علمی;
  • نرم افزار تجزیه و تحلیل کلان داده;
  • توسط همه منظورهیا ابزارهای امنیتی؛
  • برنامه های سرور

بهتر است از جاوا اسکریپت در زمینه های زیر استفاده کنید:

  • برنامه های کاربردی تک صفحه ای پویا (SPA)؛
  • برنامه های Fort-end (Query، AngularJS، Backbone.js، Ember.js، ReactJS)؛
  • برنامه های سرور (Node.js، MongoDB، Express.js و غیره)؛
  • برنامه های موبایل (PhoneGap، Ract Native و غیره).
نتیجه گیری

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

برای نتیجه گیری، یک جوک ویدیویی در مورد تقابل جاوا و جاوا اسکریپت بر اساس Game of Thrones: