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

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

    جاوا اسکریپت چیست؟
    1) جاوا اسکریپت یک زبان برنامه نویسی یا اسکریپت است. یک اسکریپت یک کد برنامه است - مجموعه ای از دستورالعمل ها که قبل از اجرا نیازی به پیش پردازش (مثلاً کامپایل) ندارد. کد جاوا اسکریپت توسط موتور مرورگر در حین بارگذاری یک صفحه وب تفسیر می شود. مفسر مرورگر برنامه یا پرس و جو اصلی را خط به خط تجزیه، پردازش و اجرا می کند.

    2) جاوا اسکریپت یک زبان شی گرا با وراثت نمونه است. چندین شی داخلی را پشتیبانی می کند و همچنین به شما امکان می دهد اشیاء (سفارشی) خود را ایجاد یا حذف کنید. اشیا می توانند خصوصیات را مستقیماً از یکدیگر به ارث ببرند و یک زنجیره شی نمونه اولیه را تشکیل دهند.

    جاوا اسکریپت در صفحات وب 1. اتصال اسکریپت ها به سند html

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

    یا بدنه صفحه

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

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

    var colorArray = ["#5A9C6E"، "#A8BF5A"، "#FAC46E"، "#FAD5BB"، "#F2FEFF"]; // ایجاد یک آرایه با رنگ های پس زمینه var i = 0; تابع changeColor()( document.body.style.background = colorArray[i]; i++; if(i > colorArray.length - 1)(i = 0; ) ) تغییر پس زمینه

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

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

    document.write ("نام خود را وارد کنید");

    2. انواع داده ها و متغیرها در جاوا اسکریپت

    کامپیوترها اطلاعات - داده ها را پردازش می کنند. داده ها را می توان در اشکال یا انواع مختلفی ارائه کرد. بسیاری از عملکردهای جاوا اسکریپت از طریق مجموعه ای ساده از اشیا و انواع داده پیاده سازی می شود. عملکرد مربوط به رشته ها، اعداد و منطق بر اساس انواع داده های رشته، عدد و بولی است. سایر عملکردها، از جمله عبارات منظم، تاریخ ها، و عملیات ریاضی، توسط اشیاء RegExp، Date و Math ارائه می شوند.

    Literals در جاوا اسکریپت کلاس خاصی از نوع داده، مقادیر ثابت یکی از سه نوع داده - رشته، عددی یا بولی است:

    "This is a string" 3.14 true alert("Hellow"); // "Hellow" یک var myVariable = 15 است. // 15 به معنای واقعی کلمه است

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

    2.1. متغیرها در جاوا اسکریپت

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

    نام متغیر، یا شناسه، فقط می‌تواند شامل حروف a-z، A-Z، اعداد 0-9 (یک رقم نمی‌تواند اولین کاراکتر در نام متغیر باشد)، نماد $ (فقط می‌تواند اولین کاراکتر در یک متغیر یا نام تابع باشد)، و زیرخط _ , فاصله مجاز نیست. طول نام متغیر محدود نیست. نوشتن نام متغیرها با حروف الفبای روسی امکان پذیر است، اما توصیه نمی شود، برای این کار آنها باید در یونیکد نوشته شوند.

    شما نمی توانید از کلمات کلیدی جاوا اسکریپت به عنوان نام متغیر استفاده کنید. نام متغیرها در جاوا اسکریپت به حروف بزرگ و کوچک حساس هستند، به این معنی که پیام var. و varMessage; متغیرهای مختلف هستند

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

    یک متغیر با یک مقدار با استفاده از عملگر انتساب = برای مثال var message="Hellow"; ، یعنی یک متغیر پیام ایجاد شده و با مقدار اصلی آن "Hellow" در آن ذخیره می شود. یک متغیر را می توان بدون مقدار اعلام کرد، در این صورت یک مقدار پیش فرض undefined به آن اختصاص داده می شود. مقدار یک متغیر می تواند در طول اجرای اسکریپت تغییر کند. متغیرهای مختلف را می توان با جدا کردن آنها با کاما در یک خط اعلام کرد:

    Var message="Hellow", number_msg = 6, time_msg = 50;

    2.2. انواع داده های متغیر

    جاوا اسکریپت یک زبان بدون تایپ است؛ نوع داده برای یک متغیر خاص نیازی به مشخص شدن ندارد. نوع داده یک متغیر به مقادیری که می گیرد بستگی دارد. نوع یک متغیر می تواند در فرآیند انجام عملیات با داده ها (ریخته گری نوع پویا) تغییر کند. تبدیل نوع بسته به زمینه ای که در آن استفاده می شود به طور خودکار انجام می شود. به عنوان مثال، در عباراتی که شامل مقادیر عددی و رشته ای با عملگر + هستند، جاوا اسکریپت مقادیر عددی را به رشته تبدیل می کند:

    پیام Var = 10 + "روزهای قبل از تعطیلات"؛ // "10 روز تا تعطیلات" را برمی گرداند

    با استفاده از عملگر typeof می توانید نوع داده یک متغیر را بدست آورید. این عملگر رشته ای را برمی گرداند که نوع مربوطه را مشخص می کند.

    نوع 35; // نوع "تعداد" "متن" را برمی گرداند. // "string" typeof true را برمی گرداند. // نوع "بولی" را برمی گرداند. // "object" typeof undefined را برمی گرداند. // نوع "تعریف نشده" null را برمی گرداند. // "شیء" را برمی گرداند

    همه انواع داده ها در جاوا اسکریپت به دو گروه تقسیم می شوند - انواع داده های ساده (انواع داده های اولیه)و انواع داده های ترکیبی (انواع داده مرکب).

    انواع داده های ساده عبارتند از رشته، عددی، بولی، تهی، و کم تعریف شده.

    2.2.1. نوع رشته (رشته)

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

    var money = ""; // رشته خالی، کاراکتر صفر var work = "test"; var day = "یکشنبه"; var x = "150";

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

    Document.writeln("\"صبح بخیر ایوان ایوانوویچ!\"\n"); // "صبح بخیر، ایوان ایوانوویچ!"

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

    2.2.2. نوع عددی (عددی)

    برای مقادیر عددی استفاده می شود. دو نوع اعداد در جاوا اسکریپت وجود دارد: اعداد صحیح (عدد صحیح)و اعداد ممیز شناور (شماره ممیز شناور). مقادیر صحیح می تواند مثبت باشد، مانند 1، 2، و منفی، مانند -1، -2 یا صفر. 1 و 1.0 یک مقدار هستند. اکثر اعداد در جاوا اسکریپت به صورت اعشاری نوشته می شوند، اما می توان از هشت و هگزادسیمال نیز استفاده کرد.

    در سیستم اعشاری، مقادیر متغیرهای عددی با استفاده از اعداد عربی 1، 2، 3، 4، 5، 6، 7، 8، 9، 0 داده می شود.

    در قالب اکتال، یک عدد دنباله ای است حاوی ارقام 0 تا 7 و با پیشوند 0 شروع می شود.

    قالب هگزادسیمال با پیشوند 0x (0X) همراه با دنباله ای از اعداد 0 تا 9 یا حروف a (A) تا f (F) مطابق با مقادیر 10 تا 15 است.

    Vara = 120; // مقدار عددی اعشاری عدد صحیح var b = 012; // فرمت هشتگانه var c = 0xfff; // فرمت هگزا var d = 0xACFE12; // فرمت هگز

    اعداد ممیز شناور اعدادی هستند که دارای قسمت اعشاری کسری هستند یا اعدادی هستند که به صورت نمایی بیان می شوند. نماد نمایی برای اعداد به شرح زیر است: عددی با قسمت اعشاری کسری، و به دنبال آن حرف e، که می‌توان آن را با حروف بزرگ یا کوچک مشخص کرد، به دنبال آن یک علامت + یا - اختیاری، و یک توان عدد صحیح.

    Vara = 6.24; // عدد واقعی var b = 1.234E+2; // عدد واقعی، معادل 1.234 X 10² var c = 6.1e-2; // عدد واقعی، معادل 6.1 X 10‾²

    2.2.3. نوع بولی (بولی)

    این نوع دارای دو مقدار true (true)، false (false) می باشد. برای مقایسه و آزمایش شرایط استفاده می شود.

    Var answer = confirm("آیا این مقاله را دوست داشتید؟\n روی OK کلیک کنید. اگر نه، روی Cancel کلیک کنید."); اگر (پاسخ == درست) (هشدار ("ممنونم!")؛ )

    انواع خاصی از مقادیر ساده نیز وجود دارد:
    نوع null - این نوع دارای یک مقدار واحد null است که برای نمایش اشیایی که وجود ندارند استفاده می شود.

    نوع تعریف نشده - نوع متغیر تعریف نشده به معنای عدم وجود مقدار اولیه متغیر و همچنین ویژگی غیر موجود شی است.

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

    2.3. متغیرهای جهانی و محلی

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

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

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

    فضای جهانی در جاوا اسکریپت با شی پنجره جهانی نشان داده می شود. افزودن یا تغییر متغیرهای جهانی به طور خودکار شی سراسری را به روز می کند. به نوبه خود، به روز رسانی شی جهانی به طور خودکار فضای نام جهانی را به روز می کند.

    اگر متغیر سراسری و محلی دارای نام یکسانی باشند، متغیر محلی بر جهانی اولویت دارد.

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

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

    چیست و چگونه آن را فعال کنیم، در این مقاله توضیح خواهیم داد.

    جدول محوری جاوا اسکریپت چیست؟

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

    این نوع برنامه نویسی به هیچ وجه با جاوا ارتباط مستقیم ندارد. سینتکس اصلی این زبان برنامه نویسی زبان C و همچنین C++ است.

    اساس صفحات وب مرورگر کد HTML است که برنامه نویسان با کمک آن عناصر تعاملی مختلفی را به صفحات اضافه می کنند.

    اگر جاوا اسکریپت در مرورگر غیرفعال باشد، عناصر تعاملی کار نمی کنند.

    این نوع زبان برنامه نویسی به لطف کار مشترک Sun Microsystems و Netscape ظاهر شد.

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

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

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

    ویژگی های جاوا اسکریپت

    این زبان برنامه نویسی به دلیل تطبیق پذیری دارای تعداد نامحدودی از امکانات است.

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

    بیشتر نوآوری ها از پیوستن به پروژه با AJAX حاصل شد که ویژگی های مورد استفاده در زبان امروزی را ارائه می دهد.

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

    این نیازی به آفلاین بودن سایت در هنگام ویرایش یا افزودن اطلاعات جدید ندارد.

    تغییرات بلافاصله بدون نیاز به بازخوانی یا بارگذاری مجدد صفحه اتفاق می‌افتد.

    ویژگی جاوا اسکریپت را می توان به دلایل مختلف غیرفعال کرد.

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

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

    مرورگر Yandex

    برای فعال کردن عملکرد جاوا اسکریپت در نسخه 22 و پایین تر، به نوار ابزار رفته و آیتم منو "تنظیمات" را انتخاب کنید.

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

    برای غیرفعال کردن این ویژگی، تیک این کادر را بردارید.

    برای ذخیره تغییرات، روی دکمه "OK" کلیک کنید و صفحه مرورگر را بازخوانی کنید.

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

    اپرا نسخه 10.5 تا 14

    ابتدا باید تنظیمات مرورگر را باز کنیم.

    در گوشه سمت چپ بالا، دکمه "منو" را فشار دهید، در منوی زمینه، نشانگر را روی مورد "تنظیمات" نگه دارید و روی مورد فرعی "تنظیمات عمومی ..." کلیک کنید.

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

    در آن، باید برگه "پیشرفته" را انتخاب کنید.

    در منوی سمت چپ برگه، روی مورد "Content" کلیک کنید، پس از آن، عملکرد را با علامت زدن دو چک باکس روی موارد "Enable JavaScript" و "Enable Java" فعال می کنیم.

    برای غیرفعال کردن این چک باکس ها باید علامت آن را بردارید.

    فعال و غیرفعال کردن جاوا اسکریپت در اپرا نسخه 10.5 تا 14

    بعد از اینکه کادرها را علامت زدید یا علامت آن را بردارید، با فشار دادن دکمه OK تغییرات را ذخیره کنید.

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

    نسخه 15 به بالا

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

    برای باز کردن پنجره تنظیمات، باید کلید ترکیبی Alt + P را در یک مرورگر باز فشار دهید. در منوی باز شده، تب "سایت ها" را باز کنید.

    برای فعال کردن عملکرد، باید "چک باکس" را روی مورد "اجازه اجرای جاوا اسکریپت" تنظیم کنید، تا غیرفعال شود - "اجرای جاوا اسکریپت ممنوع".

    پس از آن، فقط روی دکمه "OK" کلیک کنید تا تغییرات ذخیره شود و صفحه ای که مشاهده می کنید با کلید F5 یا با کلیک بر روی آیکون مربوطه در سمت چپ نوار آدرس، رفرش شود.

    شما نیازی به راه اندازی مجدد مرورگر خود ندارید.

    سافاری

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

    برای باز کردن آنها، باید روی دکمه "Safari" کلیک کنید و "تنظیمات" را انتخاب کنید.

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

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

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

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

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

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

    مثال 1

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

    رنگ تابع قرمز سبز آبی (el, color) ( el.style.color = "#FFFFFF"; el.style.backgroundColor = color; ) function uncolor(el) (el.style.color = "#000000"; el.style.backgroundColor = "#E6E6E6"؛ )

    مثال 2

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

    دکمه

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

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

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

    جاوا اسکریپت یک زبان برنامه نویسی شی گرا است که از طریق رابطی به نام Document Object Model (DOM) با محتوا تعامل دارد، می تواند در سمت سرور (سرورهای وب) و در سمت سرویس گیرنده در مرورگر وب کاربر هنگام مرور وب اجرا شود. بسیاری از وب سایت ها از فناوری های جاوا اسکریپت سمت سرویس گیرنده برای ایجاد برنامه های وب پویا قدرتمند در برنامه نویسی برای ساختگی ها استفاده می کنند. می تواند از Unicode استفاده کند و می تواند از قدرت و قدرت عبارات منظم استفاده کند (این در نسخه 1.2 در Netscape Navigator 4 و Internet Explorer 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 in there" و myArray = "something other in 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();;) () () () تابع (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 تعریف می شوند.

    طبق آمار 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 مانند رابط ها، کپسوله سازی و چندشکلی پشتیبانی می کنند.
    • توسعه Fortend - هر دو زبان را می توان برای توسعه یک fortend، به عبارت دیگر، یک رابط کاربری که در کنار یک سرور اجرا می شود، استفاده کرد. جاوا اسکریپت را می توان در HTML یا به عنوان یک کتابخانه شخص ثالث در صفحات سایت جاسازی کرد. و جاوا می تواند در مرورگر به عنوان یک اپلت جاوا اجرا شود.
    • توسعه Backend - به عبارت دیگر - توسعه نرم افزار سرور. جاوا مدت‌هاست که در فناوری‌های بک‌اند توسط پروژه‌های Apache، JBoss، WebSphere استفاده می‌شود. یک فناوری جدید، Node.js به شما اجازه می دهد تا سرورهای نوشته شده با جاوا اسکریپت را اجرا کنید.
    تفاوت های اصلی جاوا در مقابل جاوا اسکریپت

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

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

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

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

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

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

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

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

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