Мова програмування javascript: структура, можливості, вивчення

JavaScript, скорочено JS-інтерпретований мова програмування, тому його не потрібно компілювати. Він походить з Java і використовується в основному для створення веб-сторінок. JS був розроблений із синтаксисом, подібним до C, хоча приймає назви та Конвенції мови програмування Java. Однак Java та JS мають різну семантику та цілі, що впливає на те, як працює JavaScript. Він в основному використовується у формі на стороні клієнта, реалізований, як частина веб-браузера, що дозволяє поліпшити користувальницький інтерфейс і динамічні веб-сторінки. Існує форма серверного JavaScript або SSJS, яку використовують в додатках, зовнішніх по відношенню до Інтернету, наприклад, в документах PDF і в віджетах.

Історія створення JavaScript

Історія створення JavaScript

Мультипарадигмова мова програмування JS. Він був розроблений американцями ще в 1990-х роках. Його засновником є Брендан Айк з Netscape з початковим ім'ям Mocha, пізніше воно було перейменовано в LiveScript, а тільки потім в JavaScript. Зміна це збіглося з часом, коли Netscape у грудні 1995 року додав підтримку технології Java у своєму веб-браузері Netscape Navigator у версії 2.002. Ім'я викликало плутанину, створюючи враження, що мова є розширенням Java і був охарактеризований багатьма, як маркетингова стратегія Netscape для завоювання престижу та інновацій на нових мовах веб-програмування.

JavaScript є зареєстрованим товарним знаком корпорації Oracle. Він використовується з ліцензією на продукти, створені Netscape Communications та нинішніми організаціями, такими як Mozilla Foundation, під керівництвом Брендана Айка. Microsoft створила свій JS-діалект JScript як назву, щоб уникнути проблем, пов'язаних з брендом. JScript був прийнятий у версії 3.0 Internet Explorer, випущеної в серпні 1996 року, і включав сумісність з Effect 2000. Діалекти здаються настільки схожими, що терміни JavaScript та JScript часто використовуються взаємозамінно, але специфікація JScript багато в чому несумісна з ECMA.

Офіційні специфікації

У 1997 році автори запропонували прийняти мову програмування JavaScript як стандарт європейської асоціації виробників КОМП'ЮТЕРІВ ECMA. У червні 1997 року він був прийнятий під назвою ECMAScript, а незабаром після цього, також як ISO/IEC-16262.

Специфікація мови, що управляє JavaScript названа ECMAScript. Структура Ecma International, яка розглядає та приймає зміни, називається Технічним комітетом 39 або TC39. ECMA опублікувала кілька стандартів, пов'язаних з ECMAScript. У червні 1997 вийшло перше видання. Через рік були внесені незначні зміни для його адаптації до ISO / IEC-16262, і було створено друге видання. Третій стандарт опублікований в грудні 1999 року, у версії, використовуваної в сучасних браузерах.Четверта варіація ECMA-262 не була випущена, п'ята надійшла в 2009 році, потім була перевидана в 2011. Шоста вийшла в 2015 році, і далі оновлення проходило щорічно. Остання 9 версія була випущена в 2018 році.

Кандидати в ECMAScript 2019

Кандидати в ECMAScript 2019 вже готовий, пропозиції TC39 знаходяться на 4 етапі, його вихід очікується в червні поточного року. Спробувати новинку можна вже сьогодні, деякі функції вкраплені в JavaScript в утилітах. Якщо вони відключені за замовчуванням, то легко можна їх запустити в налаштуваннях браузера. Більш докладно стандарти описані в книгах по JavaScript, які можна скачати безкоштовно в Інтернеті на профільних сайтах.

JS на стороні сервера

Netscape представив серверну реалізацію сценаріїв для Netscape Enterprise Server у грудні 1994 року, незабаром після випуску JavaScript для веб-браузерів. Починаючи з середини 2000 - х років, на стороні сервера було багато реалізацій JS. Node.js є одним з яскравих прикладів, який використовується у важливих проектах.

Мова програмування JavaScript стала одним з найпопулярніших мов в Інтернеті. Спочатку багато розробників його відкинули. Поява Ajax повернула JS до слави та привернула увагу інших розробників. В результаті цього відбулося зростання набору фреймворків і бібліотек загального призначення. Це дозволило вдосконалити методи програмування за допомогою мови та розширити застосування JS за межами веб-браузерів, що видно з поширення структури JavaScript на стороні сервера.

Імперативний та структурований

JavaScript сумісний з великою частиною структури програмування C, наприклад, використання операторів if, циклів for, пропозицій switch та іншими. У версії JavaScript 1.7 додана підтримка визначення обсягу блоку за допомогою ключового слова let. Як і в C, JS розрізняє вирази та речення. Синтаксичною відмінністю щодо C є автоматична вставка крапок з комою, тобто в JS ті, що закінчують речення, можуть бути опущені.

Як і в більшості мов сценаріїв, тип пов'язаний зі значенням, а не зі змінною. Мова програмування JavaScript підтримує кілька способів перевірки типу об'єкта. Один з них-з'ясувати через ключове слово typeofObjetual.

JS майже повністю складається з об'єктів-асоціативними масивами, поліпшеними за рахунок використання прототипів. Властивості та їх значення можуть бути створені, змінені/видалені під час виконання. Більшість з них і включені в ланцюжок успадкування і перераховуються за допомогою інструкції циклу for... in. JS має невелику кількість заздалегідь визначених об'єктів, таких як Functiony Date.

Функції першого класу

JavaScript включає в себе функцію eval яка дозволяє оцінювати вирази в вигляді рядків під час виконання. Рекомендується використовувати її обережно, краще застосовувати функцію JSON.parse() якомога частіше, тому що вона набагато безпечніше, з цим більш ретельно допоможуть розібратися уроки програмування з нуля.

Функції першого класу мають властивості та методи, такі як .call () і .bind(). Вкладена функція — це та, яка визначається в іншій, що створюється щоразу, коли викликається зовнішня функція. Крім того, кожна утворює закриття, яке є результатом оцінки домену, що містить одну або кілька залежних змінних з іншого зовнішнього середовища, включаючи константи, локальні змінні та аргументи викликаючої функції. Результат оцінки зазначеного замикання є частиною внутрішнього стану об'єкта, навіть після того, як зовнішня функція завершує свої дії.

Прототипи замість КЛАСІВ

Прототипи замість КЛАСІВ

JS застосовують прототипи замість класів для використання успадкування. Можна емулювати багато функцій, що надаються класами в об'єктно-орієнтованих мовах, через прототипи.

Функції також поводяться, як конструктори. Префікс виклику з ключовим словом new створює новий екземпляр прототипу, який успадковує властивості та методи від конструктора, включаючи властивості Object. ECMAScript 5 пропонує метод Object.create, що дозволяє створення екземпляра без необхідності автоматичного успадкування від Object. У більш ранніх середовищах може бути утворений прототип, створений, як null. Властивість prototype конструктора визначає об'єкт, для внутрішнього новостворюваного прототипу. Нові методи можуть бути додані шляхом зміни прототипу об'єкта, в якості конструктора.

Середовище виконання

Середовище виконання

Мова програмування JavaScript зазвичай залежить від середовища виконання, наприклад, у веб-браузері, щоб запропонувати об'єкти та методи, за допомогою яких сценарії можуть взаємодіяти із " зовнішнім світом». Насправді це залежить від середовища, що забезпечує можливість включення або імпорту сценаріїв, наприклад, у HTML за допомогою тегу. Це не мовна функція, але вона поширена в більшості реалізацій JS.

У неї може бути передано невизначена кількість параметрів. Вона отримує до них доступ через параметри або локальний об'єкт arguments. Функція variádicas можуть бути створені за допомогою методу .apply(). На відміну від багатьох об'єктно-орієнтованих мов, немає різниці між визначенням функції та методом. Швидше воно відбувається під час виклику функції, яка може бути виконана, як метод з ключовим словом this-локальної змінної для об'єкта, що викликав функцію.

Як і в багатьох мовах сценаріїв, масиви і об'єкти можуть створюватися зі скороченим синтаксисом, тому розробнику завжди знадобиться під рукою підручник мови програмування JavaScript. Насправді ці літерали складають основу формату даних JSON. JavaScript також підтримує регулярні вирази аналогічно Perl, які забезпечують стислий і потужний синтаксис для обробки тексту, більш складний, ніж функції, вбудовані в рядкові об'єкти.

Відмінності: Java & JavaScript

Відмінності: Java & Amp; JavaScript

Мова JS сильно відрізняється від Java, можливостей у JavaScript набагато більше. Хоча це об'єктно-орієнтована мова програмування, вона не має успадкування, на відміну від Java, тому JS-це мова, спрямована на події.

Інша відмінність між обома мовами полягає в тому, що, хоча Java може створювати автономні додатки, такі як аплети, програми, які включають в веб-сторінки, JavaScript вбудований в веб, утворюючи частину коду HTML без якого не може існувати.

Ці дві мови мають більшу загальну частину синтаксису, структуру, встановлюють ієрархію об'єктів для визначення їх властивостей та інші елементи, у яких багато спільного з мовами C і C ++.

Можна включити код JavaScript в будь-яку веб-сторінку або HTML, як сервер в PHP-документах. Цей код включений у теги HTML, наприклад, . JS розрізняє великі, малі літери і використовується в основному для створення динамічних веб-сторінок.

Включення мови в документи XHTML

Інтеграція JavaScript і XHTML дуже гнучка, є, принаймні, три способи включити код у веб-сторінки.

Включення мови в документи XHTML

Алгоритм дії:

  1. Код JavaScript укладають між мітками і додають в будь-яку частину документа. Рекомендується визначити код у заголовку документа.
  2. Щоб отримана сторінка XHTML була дійсною, потрібно додати атрибут type до тегу. Значення, включені до нього, стандартизовані, а для випадку JS правильне значення-text / javascript.
  3. Цей метод використовують при визначенні невеликого блоку коду або, коли потрібно включити конкретні інструкції за замовчуванням в HTML-документ веб-сайту. Основним недоліком є те, що якщо потрібно внести зміни в блок коду, необхідно змінити всі сторінки, які містять його. Складність методу вимагає від розробників ознайомитися з уроками програмування з нуля.
  4. Інструкції JS можуть бути включені у зовнішній файл типу JavaScript, на який XHTML-документи посилаються через тег. Можна створити всі необхідні файли, і кожен документ XHTML зв'яже стільки файлів, скільки буде потрібно.

Документ XHTML.

Документ XHTML

На додаток до атрибута type, другий метод вимагає введення атрибута src, який вказує URL-адресу, що відповідає файлу JS. Кожен тег може пов'язувати лише один файл, але на одній сторінці можна включити стільки тегів, скільки потрібно.

Файли типу JS-це звичайні текстові документи з розширенням .js, які можна створити за допомогою будь-якого текстового редактора, наприклад "Блокнот", Wordpad, EmEditor та UltraEdit.

Код XHTML-сторінок

Цей останній метод використовується менше, оскільки він включає фрагменти JS у коді XHTML сторінки. Основний недолік цього методу є те, що надмірно XHTML ускладнює обслуговування JS. Загалом, цей метод використовується лише для визначення деяких подій.

Деякі браузери не мають повної підтримки JS, інші дозволяють часткове блокування. Є користувачі, які також повністю блокують JS, оскільки вважають це небезпечним.

У цих випадках, якщо веб-сторінці потрібен JS для функціонування, з'являється попереджувальне повідомлення із зазначенням, що повинні активувати JS.

Код XHTML-сторінок

Мова HTML визначає тег для відображення повідомлення користувачеві, коли його браузер не може виконати JS.

Можливості та обмеження

З самого початку JS завжди широко використовувався більшістю інтернет-сайтів. Поява Flash зменшила його популярність, оскільки дозволяла виконувати дії, які JS не міг.

Однак поява програм Ajax, запрограмованих на JavaScript, повернула Популярність мові. Що стосується обмежень, він був розроблений для функціонування в середовищі, яке дозволило б користувачам довіряти виконанню сценаріїв JavaScript з нуля.

Таким чином, сценарії JS не можуть взаємодіяти з ресурсами не належать домену, з якого був завантажений сценарій. Скрипти не можуть закривати вікна, які не відкривали, а створені вікна не можуть бути занадто маленькими або занадто великими і розміщені поза полем зору користувача.

Крім того, сценарії не можуть отримати доступ до файлів на комп'ютері ні в режимі читання, ні в запису і не можуть читати або змінювати налаштування браузера. Нарешті, якщо виконання сценарію займає багато часу, наприклад, через помилку програмування, браузер інформує користувача про те, що сценарій споживає багато ресурсів, і дає можливість зупинити виконання.

Найсучасніші доступні браузери включають підтримку JS аж до версії, що відповідає третьому виданню стандарту ECMA-262. Безпрецедентна Популярність JS, як Мови програмування веб-додатків, була поширена на інші додатки і середовища, не пов'язані з мережею. Такі інструменти, як Adobe Acrobat, дозволяють включати код JS у файли PDF. Інші інструменти Adobe, такі, як Flash і Flex, використовують ActionScript, діалект того ж стандарту JS. Photoshop дозволяє створювати невеликі сценарії через JS, а версія 6 Java включає новий пакет (named javax.script), який дозволяє інтегрувати обидві мови.

Браузерне використання

Можливості та обмеження

JavaScript дозволяє функціям Електронної Пошти Benchmark працювати належним чином. Тому користувачеві потрібно знати, як грамотно налаштувати JavaScript для Windows в браузері.

Internet Explorer 8/9:

  1. Відкривають вікно браузера Internet Explorer.
  2. Натискають на інструменти у верхньому рядку меню і вибирають Властивості оглядача або клавішу Alt.
  3. Вибирають вкладку»Безпека".
  4. Натискають на кнопку користувальницький рівень.
  5. Прокручують список параметрів, поки не з'явиться назва сценаріїв.
  6. Встановлюють для параметра "активувати сценарії" значення " Вкл.».
  7. Натискають «OK " на кожному з наступних двох екранів, щоб підтвердити зміну.

Браузер Firefox 3.6+:

  1. Відкривають вікно браузера Firefox.
  2. Натискають на інструменти у верхньому рядку меню і вибирають "Параметр".
  3. Вибирають значок вмісту у верхній частині вікна, що з'явилося.
  4. Встановлюють прапорець активувати JavaScript.
  5. Натискають "OK", щоб підтвердити зміну.

JavaScript з нуля для Chrome 7+:

  1. Натискають на значок ключа на панелі інструментів браузера.
  2. Вибирають параметри.
  3. Натискають на вкладку»Додатково".
  4. Натискають на Налаштування контенту в розділі "Конфіденційність".
  5. Натискають на JS.
  6. Виберіть "Дозволити всім сайтам виконувати JS" (рекомендовано).
  7. Натискають Закрити.

Усі сучасні браузери інтерпретують інтегрований код JavaScript на веб-сторінках. Для взаємодії з веб-сторінкою передбачено мову JS реалізації об'єктної моделі документа (DOM). Традиційно він використовувався на веб-сторінках HTML для виконання операцій і тільки в рамках клієнтської програми, без доступу до функцій сервера. В даний час він широко застосовується для надсилання та отримання інформації з сервера разом за допомогою інших технологій, таких як AJAX.

Статті на тему