Понеділок, 21 червня 2021

I IT

Біт - байт береже

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

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


Мультипарадигменна мова програмування JS. Він був розроблений американцями ще в 1990-х роках. Його засновником є Брендан Айк з Netscape з початковим ім 'ям Mocha, пізніше воно було перейменовано в LceScript, а тільки потім в 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 вже готовий, пропозиції TC39 знаходяться на 4 етапі, його вихід очікується в червні поточного року. Спробувати новинку можна вже сьогодні, деякі функції вкраплені в JavaScript в утилітах. Якщо вони вимкнені за замовчуванням, легко їх можна запустити в налаштуваннях браузера. Більш детально стандарти описані в книгах з JavaScript, які можна завантажити безкоштовно в інтернеті на профільних сайтах.

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, які забезпечують короткий і потужний синтаксис для обробки тексту, більш складний, ніж функції, вбудовані в рядкові об 'єкти.

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

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


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

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

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

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

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

Документ XHTML.

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

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

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


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

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

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

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

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

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

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


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

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

Internet Explorer 8/9:

  • Відкривають вікно переглядача Internet Explorer.
  • Натискають Інструменти у верхньому рядку меню і вибирають Властивості навігатора або Alt.
  • Вибирають вкладку "Безпека".
  • Натискають кнопку Рівень користувача.
  • Прокручують список параметрів, поки не з 'явиться назва сценаріїв.
  • Встановлює значення "Вкл" для "Активувати сценарії".
  • Натискають "OK" на кожному з наступних двох екранів, щоб підтвердити зміну:

Переглядач Firefox 3.6 +:

  • Відкривають вікно переглядача Firefox.
  • Натискають Інструменти у верхньому рядку меню і вибирають "Параметри".
  • Вибирають значок вмісту у верхній частині вікна.
  • Встановлює параметр Активувати JavaScript.
  • Натискають "OK", щоб підтвердити зміну.

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

  • Натискають піктограму ключа на панелі інструментів переглядача.
  • Вибирають параметри.
  • Натискають вкладку "Додаткові".
  • Натискають Параметри контенту в розділі "Конфіденційність".
  • Натискають JS.
  • Вибирають "Дозволити всім сайтам виконувати JS" (рекомендується).
  • Натискають "Закрити".

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