Что такое Javascript? Что такое JavaScripts? Основные функции JavaScript На что способен javascript

Брендан Айк
Создатель языка JavaScript

В этой статье дан небольшой обзор языку JavaScript , по его структуре, характеристике и истории. Данная статья предназначена к прочтению для общего развития и на начальном этапе изучения языка JavaScript вы можете её пропустить, а вернуться к ней чуть позже, после прочтения для начинающих.

Язык JavaScript — это клиентский язык web-программирования, который был создан в 1995 году, разработчиком Бренданом Айком.

JavaScript обычно применяется для манипулирования объектами в различных приложениях, но наибольшую популярность он приобрел как один из основных языков применяемых при создании сайтов (и как единственный клиентский язык web-программирования).

Код языка JavaScript, обычно исполняется в окне браузера, на открытой странице сайта. Это происходит благодаря тому что в веб-браузере по-умолчанию имеется интерператор языка JavaScript, благодаря которому браузер имеет возможность понимать и исполнять код написанный на языке JavaScript.

Интерпретатор языка JavaScript, является частью веб-браузера, когда веб браузер открывает страницу сайта, браузер создаёт объектную модель документов (DOM), интерпретатор JavaScript получает доступ к DOM и благодаря этому, вебмастера создавая различные скрипты (web-приложения) могут управлять и манипулировать объектами страницы (всеми тегами: абзацами, заголовками, таблицами, формами и т.д.).

JavaScript также как и языки HTML и CSS, принадлежит всему человечеству, им не владеет ни одна компания или персона. Однако само слово — «JavaScript» , принадлежит компании Oracle Corporation и чтобы не иметь проблем с авторскими правами, ученые разрабатывающие данный язык в научных документах называют его ECMAscript .

История JavaScript

В 1995 году компания Netscape, дала задание программисту Брендану Айку создать язык web-программирования, который можно было бы встраивать в HTML-документ и для работы с которым не нужен был web-server.

Вместе с Бренданом Айком в проекте участвовали и другие программисты:
Марк Андерссен (создал первый в мире браузер — Mosaic ),
Билл Джой работник компании Sun (данная компания в 2010 году была куплена корпорацией Oracle ).

В те далёкие времена, наиболее популярными языками программирования, были C и Java , поэтому при создании JavaScript, пытались делать так чтобы его синтаксис был на них немного похож.

Изначально язык JavaScript имел имя LiveScript, но ради популяризации языка (и в маркетинговых целях) его назвали JavaScript, что вызвало немало замешательств среди начинающих вебмастеров ибо языки Java и JavaScript абсолютно разные по отношению друг к другу (они лишь немного схожи синтаксически). Кстати сам язык Java принадлежит компании Sun.

Чтобы еще больше популяризировать язык JavaScript, его сделали открытым, общедоступным, а потом стандартизировали. Сам стандарт носит название ECMA-262, а имя языка JavaScript, в стандарте записывается как ECMAScript.

В 1996 г. компания Microsoft, на основе этого стандарта разработала свой язык сценариев и назвала его JScript.

Первые браузеры начали поддерживать JavaScript уже в 1996 году, это были: Netscape 2.0 и Internet Explorer 3.0

Характеристики языка JavaScript

Сценарный — при созданий программ, их ненужно компилировать (как например в языках Си, Си++, Паскаль или Бэйсик), просто создаёте скрипт-программу в текстовом редакторе, а интерпретатор JavaScript (который уже встроен в веб-браузер), потом этот скрипт обрабатывает и выполняет.

Клиентский — интерпретатор скриптов находится не на web-сервере (как например у серверных языков — PHP или Perl) , а в веб-браузере, поэтому для создания и выполнения скриптов JavaScript, устанавливать веб-сервер не нужно, необходимы лишь текстовый редактор (например Блокнот или популярный нынче Sublime Text 3) и веб-браузер (например FireFox, Opera, IE или Chrome и т.д.) .

Прототипно-ориентированный — JavaScript поддерживает создание и наследование объектов, однако классы в нём отсутствуют.

Web-сценариями являются программы, которые записываются напрямую в html-коде или просто в файлах, что является более предпочтительным. Данные программы пишутся на языке ЯваСкрипт. Таким образом, говоря о том, что такое Javascripts, можно сказать, что это язык программирования, который является интерпретирующим.

ЯваСкрипт считывается браузером, и затем выполняются записанные выражения и производятся манипуляции, которые заданы над страницей. JavaScript по своему синтаксису подобен таким языкам программирования, как Java, С++ и С.

JavaScript обязан своим появлением разработкам таких компаний, как Sun Microsystems (Oracle) и Netscape (Mozilla). Первоначальное название языка было LiveScript. Однако из-за того, что тогда был очень популярным язык Java от компании Sun Microsystems, отделом маркетинга компании Netscape было решено изменить название языка на JavaScript. При этом был расчет, что данный шаг добавит языку популярности. Также, говоря о том, нужно отметить, что Java и JavaScript являются двумя разными языками.

ECMA-262 является официальным стандартом этого языка. Название этого языка JavaScript - ECMAScript.

Для изучения этого языка пригодятся предыдущие знания про CSS и Html. Если еще до этого момента вы не знали про CSS и Html, то следует незамедлительно ознакомиться.

Ограничения и возможности JavaScript

Следующие возможности появляются при применении на web-страницах сценариев :

  • Добавление различных анимационных эффектов, которые не представляется реализовать с помощью Html и CSS.
  • Возможность изменения содержимого элементов Html и добавления новых тегов без перезагрузки страницы.
  • Реагирование на события (реагирование на действия пользователя) - обработка нажатий клавиш на клавиатуре и передвижения курсора мыши.
  • Выполнение проверки данных, которые были введены в поля формы перед отправкой на сервер. Это уменьшает нагрузку на сервер и ускоряет работу сайта.
  • Определение версии браузера и загрузка требуемой страницы в зависимости от этого.

Это не полный перечень возможностей сценариев, которые были написаны на этом языке, функции JavaScript имеют гораздо более широкое значение.

Помимо вышеуказанных возможностей, существуют и ограничения использования сценариев:

  • Отсутствует доступ к файлам, которые размещены на пользовательском компьютере. В целом нет доступа за пределы самой веб-страницы. Исключением могут быть только файлы cookie, которые могут быть считаны и записаны с помощью JavaScript. Объекты такого типа обычно нужны лишь для того, чтобы страница загружалась быстрее.
  • Нет возможности выполнения кроссдоменных запросов, то есть получение доступа к веб-страницам, которые находятся на другом домене, даже если они открыты в соседних вкладках.
  • Нет возможности закрывать вкладки и окна, которые открывались с его помощью.
  • Отсутствует возможность защиты исходного текста на странице и запрета на копирование изображений или текста со страницы. При этом остается возможность добавлять некоторые ограничения, что позволяют функции JavaScript.

Подобные ограничения в некотором смысле затрудняют выполнение вредоносного кода.

Что такое Javascripts?

Как уже было отмечено выше, JavaScript - это язык, придающий интерактивность веб-страницам. С помощью этого языка создаются те приложения, которые включаются в Html-код. К примеру, формы или анкеты регистрации, заполняемые пользователем. Нередко язык JavaScript путают с Java, но между этими языками мало общего.

Некоторые даже сравнивают JavaScript с другими языками Ruby, Self, Python. Но это отдельный язык.

Использование JavaScript

Используя JavaScript, можно вносить изменения в страницу, изменять стили элементов, добавлять или удалять теги. Также есть возможность узнать о своих действиях пользователя на странице (уменьшение или увеличение рабочей области экрана, клики с помощью мышки, нажатия любых клавиш, прокрутка страницы). Есть возможность получения доступа к любому элементу Html-кода и манипулирование с этим элементом. Таким образом, ответом на вопрос «Что такое JavaScripts?» будет получение возможности загрузки данных без перезагрузки страницы, ввод сообщений, установка или считывание cookie и выполнение множества других действий.

Основа уникальности JavaScript

Основная уникальность этого языка в том, что он имеет поддержку почти у всех браузеров и имеет полную интеграцию с ними. Все действия с помощью JavaScript являются очень простыми. Нет никакой другой технологии, которая бы вмещала в себя все подобные преимущества. Например, есть не кросс-браузеры, они имеют поддержку не у всех обозревателей (это XUL, ActiveX, VBScript). Также есть и такие, которые не в полной степени интегрированы с браузером. Это Silverlight, Flash, Java. На данный момент идет большое развитие подобной технологии и в разработке находятся элементы JavaScript 2.

Альтернативные языки программмирования

Бывает, что возможности JavaScript ограничены. В таком случае помогут следующие языки программирования.

Самый используемый язык - Java. С помощью этого языка описываются сложные алгоритмы, но это не всегда требуется на обычном сайте. По этой причине долго загружаются java-applet`ы и имеют немалый объем.

С самого начала язык Flash был разработан как кросс-бразуерный и для создания объектов мультимедиа. К примеру, для создания интерактивных областей на сайте, игр, баннеров, проигрывателей для аудио и видео. Помимо прочего, с помощью Flash создаются сокеты (соединения в сети), можно работать с мультимедиа, хранить объекты, которым не требуется посылать запросы на сервер. Существуют удобные графические средства разработки для Flash.

Если сравнивать по недостаткам Flash и JavaScript, объекты которого сильно отличаются, то основным недостатком Flash является плохая его индексированность поисковиками. Это происходит потому, что поисковики ходят по Также отсутствует возможность выделения текста, находящегося в контейнере Flash.

Silverlight, Vbscript, JavaFX, XUL

Для того чтобы дополнить возможности JavaScript при построении интерфейсов и области коммуникаций, используются технологии Silverlight, Vbscript, JavaFX, XUL.
Они используются все равно более редко, чем Flash и JavaScript. Для выделения особенностей каждой из них можно сказать следующее:

XUL - используют при описании десктоп-приложений и интерфейсов. Но возможно только в случае создания программы под Mozilla.

JavaFX - работает на компьютере только с Java, так как является дополнением к этому языку.

Vbscript - был разработан корпорацией Microsoft. Основой послужил Visual Basic. Этот язык не развивается никак, в наши дни почти не используется, по возможностям уступает JavaScript.

Silverlight - был разработан компанией Microsoft в качестве конкурента для Flash. Он также не имеет большой популярности, т.к. строки JavaScript могут предоставить гораздо больше сценариев страницы.

Как включить JavaScript и что такое JavaScript error

Теперь стоит обсудить каждодневные проблемы пользователей в сети. Сегодня все чаще случается, что пользователь после посещения своей страницы в соц. сети видит в верхнем окне сообщение об ошибке «JavaScript не включен», «Для правильной работы сайта включите JavaScript», «JavaScript error». Как исправить это - серьезный вопрос, т.к. при этом возникают трудности с загрузкой видео и фото у пользователя.

Как включается JavaScript в Mozilla Firefox

Если пользователь работает в Mozilla, нужно зайти в «Инструменты», далее в «Настройки». Затем на вкладке «Содержимое» нужно поставить галочку напротив надписи «Использовать JavaScript».

Как включается JavaScript в Google Chrom

Для включения или отключения JavaScript в этом браузере требуется следующая последовательность действий: «Настройка и управление Google Chrom», «Параметры», «Расширенные», «Личные данные (настройки содержания)», «JavaScript». Разрешить всем сайтам использование JavaScript (рекомендуется).

Как включается JavaScript в Opera

Для включения или отключения JavaScript в этом браузере требуется выполнить следующее:

Нажать клавишу F12.

Выбор пункта “Включить JavaScript”.

Как включается JavaScript в IE ("Интернет Эксплорер")

Для включения или отключения JavaScript в "Интернет Эксплорере", требуется сделать следующее: «Сервис», «Свойства обозревателя», вкладка "Безопасность", «Выбираем зону Интернет», кнопка "Другой", пункт "Сценарии", «Разрешить сценарии».

JavaScript в ВК

Для решения этой проблемы, требуется исправление JavaScript error в сети «ВКонтакте».

Что такое ошибка JavaScript VK?

Пользователь посетил свою страницу в соцсети и попробовал запустить видео- или аудиофайл, но после этого обнаружил в левом верхнем углу надпись «JavaScript error: initAddMedia is not defined». Это сообщение появляется при ошибке
« initAddMedia».

Для начала требуется зайти в «Пуск», «Мой Компьютер» и папку Windows. Потом переход в раздел system32 и в папку driver. Затем в папку etc.

Посреди небольшого количества файлов в этой папке требуется выбрать файл hosts.
Затем этот файл открывается с помощью «Блокнота». Это выглядит так: на нужно нажать правой кнопкой мыши и выбрать «Открыть с помощью». Далее можно выбрать «Текстовый редактор WordPad».

После открытия этого файла требуется глянуть на файл с записью 127.0.0.1 localhost. Любые другие записи являются лишними и только затрудняют и блокируют стабильную работу аудио- и видеофайлов. Нужно удалить полностью всю информацию из файла и скопировать только эту надпись 127.0.0.1 localhost. Далее требуется нажать «Сохранить» и перезагрузить компьютер. При последующем посещении страницы "ВКонтакте" все будет работать нормально.

Если вы еще не знакомы с понятием Javascript, то об этом .

В этой заметке хотелось рассказать о том, для чего Javascript нужен и что с его помощью можно делать.

Как и у любого язык программирования, основная задача Javascript создавать последовательность действий, которые будут приводить к определенному результату.

Это могут быть условия «если-то», циклы, которые создают определенную последовательность действий, математические вычисления и.т.д.

Самое главное в том, что все эти операции можно производить на веб-страницах, в окне браузера. Причем, javascript может работать и без подключения к сети Интернет.

Итак, давайте рассмотрим ряд примеров, которые демонстрируют те возможности, которые можно получить при использовании Javascript. Я условно отсортировал их на несколько групп, чтобы у вас появилось определенное понимание, что делает Javascript и зачем он нужен.

1) Математические операции

На веб-страницах очень часто возникает необходимость произвести те или иные вычисления.

Например, есть два текстовых поля и нужно в третьем текстовом поле вывести сумму двух чисел, которые введены в первые два.

С помощью Javascript можно создать калькулятор и разместить его на веб-странице.

Вот здесь есть пример такого калькулятора:

Еще ситуация, возьмем какую-нибудь текстовую строку на веб-странице, нужно увеличить ее размер в 1,5 раза. Это тоже можно сделать с помощью математических вычислений, путем умножения текущего размера на коэффициент 1,5.

Задач, которые требуют вычислений очень и очень много на практике. Javascript позволяет все это делать.

2) Обработка и валидация данных в HTML-формах

Javascript позволяет проверять, что все требуемые поля заполнены и данные, которые в них находятся соответствуют нужному формату (например, если требуются цифры, то должны быть только цифры и не должно быть букв).

Делает это Javascript без перезагрузки страницы и даже без подключения к Интернет.

Прежде чем отправлять данные на сервер, они проходят предварительную проверку на Javascript. Это снижает нагрузку на сервер.

3) Взаимодействия с пользователем и события

На веб-странице могут появляться различные эффекты, в зависимости от того, какие действия совершает пользователь.

Выпадающее меню на сайте при наведении курсора мыши.

При клике на кнопку скрыть или показать какой-то элемент на странице.

Появления всплывающего окна, когда курсор мыши ушел за пределы окна браузера.

Затемнение заднего фона и эффекты плавного появления элемента реализуются на Javascript.

4) Взаимодействовать с HTML-элементами на странице и управлять их содержимым и стилями.

При наступлении определенного события (например, клик мыши или любого другого) можно изменять внешний вид (стили CSS) элементов на странице.

Делается это все программно.

Еще можно добавлять какие-нибудь HTML-теги или атрибуты к ним, также при наступлении определенного события.

5) Добавление анимации и различных графических эффектов на веб-страницы.

Падающие и двигающиеся объекты. Например, снег на сайт.

Плавное появление и скрытие объектов

Таймер обратного отсчета

И др. эффекты реализуются на Javascript

Я перечислил здесь лишь небольшой список возможностей Javascript. Чтобы вы могли посмотреть все наглядно и на реальных примерах, привожу здесь список сайтов, на которых опубликованы действующие примеры на языке javascript:

Возможности и сфера применения Javascript на самом деле очень обширные. Все будет ограничиваться только вашей фантазией и творчеством.

Язык программирования JavaScript является объектно-ориентированным языком сценариев, изначально разработанный Netscape Communications под названием LiveScript, но затем переименован в "JavaScript" и с учетом синтаксиса ближе этот язык ближе Java компании Sun Microsystems. JavaScript был позже стандартизированы ECMA под названием ECMAScript. Microsoft называет свои версии JScript.

Изменение названия LiveScript на JavaScript произошло примерно в то же время, когда компания Netscape включили поддержку технологии Java в браузере Netscape Navigator. Это изменение внесло много путаницы у умы обучающихся программированию для начинающих. Не существует никакой реальной связи между Java и JavaScript, их сходство начинается и заканчивается схожим синтаксисом и тем фактом, что оба языка широко используются в сети Интернет.

JavaScript является объектно-ориентированным языком сценариев, который взаимодействует через интерфейс называемый Document Object Model (DOM) с содержимым, может быть выполнен на стороне сервера (веб-серверов) и на стороне клиента в веб-браузере пользователя при просмотре веб-страниц. Многие веб-сайты используют JavaScript технологии на стороне клиента для создания мощных динамических веб-приложений в программировании для чайников. Он может использовать Unicode и может использоватьмощь и силу регулярных выражений (это было введено в версии 1.2 в Netscape Navigator 4 и Internet Explorer 4). JavaScript выражения, содержащиеся в виде строке можно выполнить с помощью функции EVAL.

Одной из основных задач для JavaScript являются маленькие функции, внедренные в страницы HTML и позволяющие взаимодействовать с DOM из браузера для выполнения определенных задач, которые не представляется возможныом в статический HTML: такие открытие нового окна, проверка вводимых в форму значений, изменение изображения при наведении курсора мыши и т.д. К сожалению, создание таких функций является достаточно утомительным занятием, потому как браузеры не стандартизированы, различные браузеры могут создавать различные объекты или методы сценариев, и поэтому часто приходится писать различные варианты функции JavaScript для различных браузеров, но это не очень удобно при обучении основам программирования.

JavaScript / ECMAScript поддерживается такими движками как:

  • Rhino
  • SpiderMonkey

Окружающая среда

Комментарий разметки требуется для того, чтобы гарантировать, что код не отобразится в виде текста, в браузерах, которые не признают тега . теги в XHTM / XML-документах, однако, не будут работать, если закомментированы. Современные браузеры, которые поддерживают XHTML и XML, достаточнохорошо разработаны, чтобы признать , так что в этих документах код остается без комментариев.

HTML-элемент может генерировать внутренние события, к которым можно подключить скрипт обработчик. Чтобы создать верный документ HTML 4.01, нужно вставить соответствующее заявление по умолчанию вязык сценариев в разделе заголовка документа.

Элементы языка

Переменные

Переменнык, как правило, динамически типизированы. Переменные определяются либо просто присваиванием им значения или с помощью оператора "var". Переменные, объявленные вне функции находятся в "глобальной" области видимости, видимы на всей веб-странице, переменные, объявленные внутри функции являются локальными для этой функции. Чтобы передать переменные с одной страницы на другую, разработчик может установить "cookie" или использовать скрытый фрейм или окно в фоновом режиме для их хранения.

Структуры данных

Главным типом является структура данных в виде ассоциативного массива похожая на хэши на языке программирования Perl или словари Python, Postscript и Smalltalk.

Элементы могут быть доступны по номерам или ассоциативным названиям (если они были определены). Таким образом, следующие выражения могут все быть эквивалентны:

MyArray,
myArray.north,
myArray["north"].

Объявление массивов

MyArray = new Array(365);

Массивы реализованы так, что только определенные (имеющие не пустое значение) элементы будут использовать память, они "разряжают массивы". Если мы зададим множество myАггау = "чего-то там" и myArray = "что-то там еще ", то мы использовали место только для этих двух элементов.

Объекты

JavaScript имеет несколько видов встроенных объектов, а именно Object, Array, String, Number, Boolean, Function, Date and Math. Другие объекты принадлежат объектам DOM (окна, формы, ссылки и т.д.).

Определив функции конструктора можно определить объекты. JavaScript является объектно-ориентированный язык основанным на прототипах. Можно добавить дополнительные свойства и методы к отдельным объектам после того как они были созданы. Для этого для всех экземпляров определенного одного типа объекта можно использовать прототип-заявление.

Пример: Создание объекта
// Функция-конструктор

Function MyObject(attributeA, attributeB) { this.attributeA = attributeA this.attributeB = attributeB }
// Создать объект
obj = new MyObject("red", 1000)

/ / Доступ к атрибуту объекта
alert(obj.attributeA)

/ / Доступ атрибут с ассоциативный обозначения массива
alert(obj["attributeA"])

Иерархия объектов может быть воспроизведена и в JavaScript. Например:

Function Base() { this.Override = _Override; this.BaseFunction = _BaseFunction; function _Override() { alert("Base::Override()"); } function _BaseFunction() { alert("Base::BaseFunction()"); } } function Derive() { this.Override = _Override; function _Override() { alert("Derive::Override()"); } } Derive.prototype = new Base(); d = new Derive(); d.Override(); d.BaseFunction();

В результате получим на экране: Derive::Override() Base::BaseFunction()

Управляющие инструкции
If ... else if (condition) { statements }
Циклы
while (condition) { statements } Do ... while do { statements } while (condition); For loop for (; ; ) { statements } Цикл For ... in
Этот цикл проходит по всем свойствам объекта (или элемента в массиве)
for (variable in object) { statement }

Оператор выбора
switch (expression) { case label1: statements; break; case label2: statements; break; default: statements; }

Функции
Заключается тело функции в {тело может быть пустым}, а список аругментов указывается внутри () идущих после имени функции. Функции могут возвращать значение, после выполнения.

Function(arg1, arg2, arg3) { statements; return expression; }

В качестве примера разберем функцию, основанную на алгоритме поиска наибольшего общего делителя Евклида:

Function gcd(a, b) { while (a != b) { if (a > b) { a = a - b; } else { b = b - a; } } return a; }

Количество аргументов при вызове данной функции не должны обязательно предоставлять столько аргументов, сколько указано при объявлении функции. В функции аргументы могут также быть доступны через массив аргументов.

Каждая функция - экземпляр функции, базового типа объекта. Функции могут быть созданы и назначены как и любые другие объекты:

Var myFunc1 = new Function("alert("Hello")"); var myFunc2 = myFunc1; myFunc2();

Результат на экране:

Взаимодействие с пользователем

Большинство взаимодействие с пользователем осуществляется с помощью HTML-форм, которые могут быть доступны через HTML DOM. Однако Есть также некоторые очень простые средства общения с пользователем:

Оповещение диалоговом окне
Подтвердите диалоговое окно
Строки диалогового окна
Строка состояния
Консоли

Текстовые элементы могут быть источником различных событий, которые могут вызвать действия, если обработчик события EMCAScript зарегистрирован. В HTML эти функции обработчика событий часто определяется как анонимные функции непосредственно в тегах HTML.



Понравилась статья? Поделиться с друзьями: