История на езика
- създаден от Брендан Айк за компанията Netscape през 1995-та
- през 1996 като JScript включен в Internet Explorer 3 и Internet Information Server
- JScript на Microsoft и JavaScript на Netscape доста се различават, което затруднява създаването на съвместими с всички браузъри сайтове
- първо използване – в бета версиите на браузъра Netscape Navigator 2.0
- следващите версии не се публикуват, заради разногласия между участващите в комитета страни
- Microsoft не участва в комитета по стандартизация, развива своя версия на езика
- през 2005 Jesse James Garrett публикува описание на технологията Ajax, позволяваща създаване на уеб приложения
- в следващите години се появяват библиотеките Prototype, jQuery, Dojo Toolkit, MooTools и други
- през 2009 се постига споразумение и ECMAScript 3.1 е одобрен от всички и преименуван в ECMAScript 5
- през юни 2011 излиза ECMAScript 5.1, напълно отговарящ на стандартите
- ECMAScript 2015 излиза юни 2015, а текущата версия ECMAScript 2016 – през юни 2016
- през юни 1997 излиза ECMAScript 1.0, през юни 1998 излиза ECMAScript 2, през декември 1999 – ECMAScript 3
JavaScript е отделен език за програмиране, който няма нищо общо с Java, освен че споделя част от името и че има сходен синтаксис на някои от основните команди.
Употреба на езика
- за създаване на динамични уеб страници
- за създаване на уеб и мобилни приложения
- за сървърно програмиране – с NodeJS
- в бази данни – например в MongoDB
- като скриптов език в Acrobat and Adobe Reader, Photoshop, Illustrator, Dreamweaver, InDesign, LibreOffice, Google Spreadsheets, Google Sites и други
- за създаване на игри – в Unity и DX Studio
- в среди за разработка – в Microsoft’s Active Scripting, Adobe Integrated Runtime, в Java (чрез javax.script пакета), в Qt Quick, ActionScript, GNOME Shell, webOS, WinJS и други
Редактори за JavaScript
- в браузъра
- “Уеб конзола” във Firefox (Ctrl+Shift+K)
- “Бяла дъска” във Firefox (Shift+F4)
- “Конзола” в Chrome (Ctrl+Shift+I)
- онлайн редактори
- offline редактори
- Brackets
- VisualStudioCode
- Notepad++
Начини за добавяне на JavaScript код в уеб страница
Директно всред HTML кода на страницата:
<script>
// изчистване на текста на страницата
document.body.innerHTML = '';
// извеждане на текст
document.write("Привет от JavaScript");
// друго извеждане на текст
document.write("<u>Може</u> и <mark>така</mark>!");
</script>
Като отделен файл, който се включва в документа:
<script src="code.js"></script>
В по-старите версии на HTML добавянето ставаше с :
<script language="javascript" type="text/javascript"> ... </script>
Добре е това включване да става в края на HTML документа. Конструирането на уеб страница в браузъра става по реда на прочитане на HTML маркерите. Ако в javascript кода се използват или променят елементи от тази страница, трябва да е сигурно, че цялата страница е вече изградена и тези елементи съществуват. Затова и script маркерите се поставятнепосредствено преди затварящия body маркер, когато всички други HTML маркери са вече прочетени и съответните елементи на страницата създадени като обекти в DOM.
Видове изпълнение на команди в JavaScript
Директно изпълнение на команди:
// извеждане на диалогов прозорец
alert("ЗДРАВЕЙТЕ!");
// извеждане на текст и маркери
document.write("<u>Може</u> и <mark>така</mark>!");
// въвеждане на текст
var ime = prompt('Въведете вашето име:', 'не го знам');
// зареждане на уеб адрес
window.location = 'https://youtube.com/';
Отложено изпълнение на команди:
// програмен код, който няма да се изпълни веднага
function pechatText() {
document.write("Отложено изпълнение на код!");
}
// трябва да бъде извикана функцията, за да се изпълни
pechatText();
Уроци за JavaScript
- KhanAcademy:
- SoftUni: Курс JS Fundamentals
- Telerik: Курс „Основи на JavaScript“
- МГУ: Програмиране в Интернет
Ръководства за JavaScript
- http://www.virtualnabiblioteka.com/images/upload/books/Novi/JAVASCRIPT-BG-.pdf
- Eloquent JavaScript v2 (BG)
- http://www.w3schools.com/js/
- http://www.tutorialspoint.com/javascript/javascript_tutorial.pdf
- https://developer.mozilla.org/en-US/docs/Learn/JavaScript
- http://javascript.info/
- http://www.htmldog.com/guides/javascript/
- http://www.tutorialspoint.com/javascript/index.htm
- https://www.codecademy.com/learn/learn-javascript