Javascript - це
передумови



Крім Брендона Айка в розробці брали участь [11] співзасновник [12] Netscape Communications Марк Андрісін (англ.) І співзасновник Sun Microsystems Білл Джой. щоб встигнути закінчити роботи над мовою до релізу браузера, компанії уклали угоду про співпрацю в розробці [13]. Вони ставили перед собою мету забезпечити «мова для склеювання» складових частин веб-ресурсу: зображень, плагінів, Java-аплетів, який був би зручний для веб-дизайнерів і програмістів, що не володіють високою кваліфікацією [11].
Популярність
можливості мови
У мові відсутні такі корисні речі [26]. як:
3]. яка б відстежувала залежності і автоматично встановлювала їх.
Семантика і синтаксис
структура мови
Об'єктна модель браузера
Об'єктна модель браузера - браузероспеціфічная частина мови [30] [37]. що є прошарком між ядром і об'єктною моделлю документа [38]. Основне призначення об'єктної моделі браузера - управління вікнами браузера і забезпечення їх взаємодії. Кожне з вікон браузера представляється об'єктом window. центральним об'єктом DOM. Об'єктна модель браузера на даний момент не стандартизована [39] [30]. однак специфікація знаходиться в розробці WHATWG [38] [Специфікація 4] і W3C [29] [Специфікація 5].
Крім управління вікнами, в рамках об'єктної моделі браузера, браузерами зазвичай забезпечується підтримка наступних сутностей [39] [38]:
Об'єктна модель документа
Об'єктна модель документа - інтерфейс програмування додатків для HTML і XML -документів [40]. Згідно DOM, документом можна поставити у відповідність дерево об'єктів, що володіють рядом властивостей, які дозволяють виробляти з ним різні маніпуляції:
- отримання вузлів,
- зміна вузлів,
- зміна зв'язків між вузлами,
- видалення вузлів.
Вбудовування в веб-сторінки
Розташування всередині сторінки
Скрипт, що виводить модальне вікно з класичної написом «Hello, World!» Усередині браузера:
Розташування всередині тега
Специфікація HTML описує набір атрибутів, використовуваних для завдання обробників подій [Специфікація 7]. Приклад використання:
Винесення в окремий файл
Атрибути елемента script
які також визначаються в цьому документі, призначені для практичного використання, їм слід віддавати перевагу.
Оригінальний текст (англ.)
The media types,
which are also defined in this document, are intended for common use and should be used instead.
Галузь застосування
Веб-додатки
Браузерні операційні системи

Приклад сеансу eyeOS
букмарклет
Призначені для користувача скрипти в браузері
Для управління призначеними для користувача скриптами в Mozilla Firefox використовується розширення Greasemonkey; Opera [50] [51] [52] і Google Chrome [53] надають засоби підтримки користувальницьких скриптів і можливості для виконання ряду скриптів Greasemonkey.
серверні додатки
Мови, на яких написаний движок і платформа
Мобільні додатки
Прикладне програмне забезпечення

Маніпуляція об'єктами додатків
Офісні програми
Microsoft Office
OpenOffice.org
навчання інформатики
Мова має пропедевтичної цінністю, дозволяючи поєднувати при навчанні інформатики ((англ.) Computer science) інтенсивну практику програмування і широту використовуваних технологій [82]. Викладання даного мови в школі дозволяє створити базу для вивчення веб-програмування. використовувати на уроках творчі проекти [83]. Відповідний курс дозволяє забезпечити поглиблений рівень вивчення інформатики та його має сенс включати в курси за вибором поглибленого рівня підготовки [84].
(Вважається, що JScript .NET розроблений за участю інших членів ECMA)
Нова форма запису для функцій, подібна до типовими лямбда-виразами. генератори (англ.), нові методи итеративной обробки масивів reduce () і reduceRight () [89].
1.8.1 (Gecko 1.9.1, Firefox 3.5)
Вбудована підтримка JSON, метод getPrototypeOf () у Object. методи trim (). trimLeft (). trimRight () у String [90]
В Opera також є власний відладчик - Opera Dragonfly [95].
Розробляються веб-додатки в Firefox можна налагоджувати за допомогою розширень Firebug. Venkman (англ.).
засоби тестування
Зв'язок з іншими мовами
взаємний вплив
- традиційне спадкування,
- динамічна диспетчеризація методів в стилі Smalltalk / Objective-C,
- псевдостатічная типізація.
Реалізація
взаємодія
підтримка браузерами
набори тестів
Безпека
Крім цього, розробники браузерів вносять додаткові обмеження у відповідь на що мають місце зловживання. Так з'явився, зокрема, заборона на відкриття вікна, розмір одного боку якого менше ста пікселів [149].
міжсайтовий уразливості
Уразливості XSS також відбуваються через помилки, допущені розробниками браузерів [151].