Краткое описание

JavaScript - это это легкий, интерпретируемый, прототипно-ориентированный язык с динамической типизацией и функциями первого класса. Является реализацией стандарта языка ECMAScript. Наиболее широкое применение находит как язык сценариев веб-страниц, но также используется и как язык общего назначения (в том числе для разработки на стороне сервера) на базе программной платформы Node.js.

AJAX (от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») - это подход к построению интерактивных пользовательских интерфейсов и получению/передаче данных в веб-приложениях, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее.

Тестирование JavaScript-кода - автоматическое тестирование (обычно модульное) клиентского кода. Для тестирования клиентского кода используется комплекс инструментов:

  • Фреймворки для тестирования JavaScript-кода (Test frameworks): qUnit, Mocha, Jasmine, YUI Test и другие.
  • Библиотеки для проверок (Assertion libraries): Assert.js, Chai, should.js, expect.js и другие.
  • Утилиты для запуска тестов (Test runners): Karma, AVA, testem и другие.
  • Mock-библиотеки (Mocking libraries): Sinon.js, MoqJS, testdouble.js, jsmock и другие.
  • Инструменты для тестирования серверного API и AJAX-запросов (API Mocking tools): Sandbox, nock, pretender, jquery-mockjax и другие.
  • “Консольные браузеры” (консольные версии движков WebKit и Gecko, доступные через JavaScript API): PhantomJS, SlimerJS.
  • Серверы непрерывной интеграции и сборки: Travis CI, Bamboo, Jenkins и другие.
  • Платформы для автоматизированного тестирования: Sauce Labs, Ubertesters и другие.

Пример использования

Вставка javascript кода в html:

<html>
    <body>
        <script type="text/javascript">
            var d = new Date();
            var time = d.getHours();
            if (time < 10) 
            {
            document.write("<b>Доброе утро</b>");
            }
            else
            {
            document.write("<b>Добрый день</b>");
            }
        </script>
        <p>
            Этот пример демонстрирует конструкцию If...Else.
        </p>
        <p>
            Если время в вашем браузере меньше чем 10 часов,
            вы получите приветствие "Доброе утро".
            В противном случае вы увидите приветствие "Добрый день".
        </p>
    </body>
</html>

«Для тех, кто предпочитает один раз увидеть»

  • DOM (от англ. Document Object Model — «объектная модель документа») - это не зависящий от платформы и языка программный интерфейс (API), позволяющий программам и скриптам получить доступ к содержимому HTML-, XHTML- и XML-документов, а также изменять содержимое, структуру и оформление таких документов.
  • TypeScript - это типизированное надмножество языка JavaScript, которое компилируется в чистый JavaScript. Данный язык является разработкой компании Microsoft.
  • CoffeeScript - это язык программирования, транслируемый в JavaScript. Добавляет синтаксический сахар в духе Ruby, Python, Haskell и Erlang для того, чтобы улучшить читаемость кода и уменьшить его размер по сравнению с аналогичным кодом на JavaScript.
  • JSON (от англ. JavaScript Object Notation — «объектная нотация JavaScript») - это текстовый формат обмена данными, основанный на JavaScript. JSON является синтаксисом для сериализации объектов, массивов, чисел, строк логических значений и значения null. Он основывается на синтаксисе JavaScript, однако всё же отличается от него: не каждый код на JavaScript является JSON, и не каждый JSON является кодом на JavaScript.
  • Менеджер пакетов - набор программного обеспечения, позволяющего управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения. Менеджеры пакетов избавляют от необходимости ручной установки/обновления дополнительных библиотек, их конфигурирования и управления зависимостями между ними. В мире JavaScript-разработки чаще всего используются менеджеры пакетов npm, bower и yarn.
  • Статические анализаторы кода - программы для анализа исходного кода на соответствие определенным правилам без реального выпоолнения исследуемых программ. Применяются для нахождения синтаксических и стилистических ошибок кода в процессе написания и тестирования приложений. Для JavaScript-разработки применяются JSHint, JSLint, ESLint, JSCS, XO и другие.
  • Системы сборки - программные инструменты, позволяющие писать и запускать скрипты, которые автоматизируют процессы сборки и развертывания разрабатываемого решения. Обычно эти процессы включают такие задачи как компиляция, конкатенация (склеивание) файлов, минимизация/обфускация кода, проверка стиля и корректности написания кода, сборка кода из исходных файлов и размещение подготовленного решения в указанное место файловой системы, выполнение тестов, развертывание решения и генерация автодокументации. Наиболее популярными инструментами сборки для фронтэнда являются Grunt, gulp.js, Broccoli.js, Brunch.
  • Программное обеспечение

    Ресурсы

  • Видеокурс по JavaScript Essential — youtube-аккаунт «ITVDN»
  • Видеокурс по JavaScript Advanced — youtube-аккаунт «ITVDN»
  • Видеокурс по JavaScript Шаблонам — youtube-аккаунт «ITVDN»
  • Перейти