Добавление сценариев Javascript в HTML
Для добавления сценария на страницу HTML используется дескриптор:
Атрибуты дескриптора:
language
— отвергнутый в настоящее время; использовался для определения языка и версии;type
атрибут, пришедший на заменуlanguage
; он сообщает браузеру, какой язык используется внутри дескрипторов;src
— атрибут определяет URL внешнего исходного JavaScript-файла, сценарий которого прикрепляется к html-странице.
- Устаревший вариант:
- Действующий вариант:
- Вариант с прикрепленным файлом скрипта:
Итак,
тег script
обычно
помещается в html-страницу в область head
.
Этот тег говорит о том, что внутри находится сценарий, в нашем случае скрипт на
языке javascript. Браузер «понимает», что это уже не html-код, поэтому, когда
html-парсер браузера доходит до тега script
,
то он передает инициативу интерпретатору javascript
.
Закрывающий
тег script
говорит
о том, что далее уже опять следует html-код.
Встраивание javascript в html происходит двумя основными способами, которые рассмотрим на примере:
Встраивание JavaScript непосредственно в HTML-страницу:
- Размещение
сценария во внешнем файле:
При прикреплении внешнего файла со скриптом тег
script
следует размещать в областиhead
.В файле с расширением
js
(в данном конкретном примере — myscript.js) код выглядит так:
В данном примере
дескриптор script
может
находиться как в теле документа, т.е. теге body
(как
в примере), так и в области head
.
В
примере имеется в виду, что файл со скриптом находится в
каталоге jscripts
.
При прикреплении в html-файле надо указывать относительный путь к файлу со
скриптом.
document.write()
используется
для вывода информации на экран.
document.writeln()
—
используется для перевода на новую строку, если используется тег
форматирования pre
.
alert()
—
это метод для вывода модального (диалогового) окна с сообщением
Выполните
следующий пример, чтобы увидеть особенности работы
метода alert()
:
alert
и document.write
alert
состоит
в том, что пользователь не может продолжить работу, пока не нажмет на
кнопкуПример: Перенести
скрипт в BODY
после
тега H1
Синтаксис javaScript, основные понятия
JavaScript – язык интерпретируемый, но также оснащен JIT-компиляцией.
JIT или компиляция «на лету» (Just-in-time compilation) — технология увеличения скорости работы программных систем, использующих байт-код, путём компиляции байт-кода в машинный код непосредственно во время работы программы.
Рассмотрим некоторые понятия, относящиеся к синтаксису языка:
Сценарий — текст, состоящий из:
- операторов,
- блоков, т. е. взаимосвязанных наборов операторов, и
- комментариев.
Операторы могут содержать:
- переменные,
- константы и
- выражения.
- состоят из комбинации букв и цифр;
- должны начинаться либо с буквы, либо с символа подчеркивания;
- не должны содержать пробелов.
«Верблюжья нотация» в записи идентификаторов:
num_docs
— знак подчеркивания между словами — хорошо, но есть способ лучшеnumDocs
— вот такой «верблюжий» стиль превосходно подходит для именования переменных:- все имена строчными буквами,
- на стыке слов — большая буква,
- переменные и свойства — называем именами существительными,
- массивы и коллекции — называем существительными во множительном числе,
- функции и методы — называем глаголами,
- азвание классов — с заглавной буквы.
Ключевые слова (keywords) — предварительно определенные идентификаторы, составляющие основу языка программирования. Ключевые слова нельзя использовать для имен переменных, функций, объектов и методов.
Литералы (literals) — это постоянные значения JavaScript. Это значения, которые не изменяются во время выполнения сценария (целочисленные литералы, литералы с плавающей точкой, логические литералы (true и false), строковый литерал — это ноль и более символов, заключенных в двойные («») или одиночные (») кавычки).
ПРАВИЛА ОФОРМЛЕНИЯ СКРИПТА JAVASCRIPT
- каждый оператор JavaScript начинается с новой строки
- каждый оператор заканчивается точкой с запятой
- блок —
это набор операторов (составной оператор), заключенный в фигурные
скобки
{ }
JAVASCRIPT КОММЕНТАРИИ
В JavaScript допустимы два вида операторов комментария:
//
— одна строка символов, расположенная справа от этого оператора, считается комментарием;/*...*/
— все, что заключено между/*
и*/
, считается комментарием; с помощью этого оператора можно выделить несколько строк в качестве комментария.
Второй способ комментирования обычно используется при поиске ошибок: тот блок сценария, в котором может находиться потенциальная ошибка, комментируется.
Объявление переменных в javaScript и оператор присваивания
Переменная (variable) — это имя, присваиваемое ячейке памяти компьютера, которая хранит определенные данные.
JavaScript — нетипизированный язык. Это значит, что переменные принимают тот тип данных, который в них присваивается. Напрямую задавать тип переменной не надо.
Объявление
переменной происходит при помощи служебного слова
javascript var
:
var
+имя переменной
+;
Пример объявления переменной:
Оператор присваивания:
Можно объявление переменной объединить с присваиванием:
var
+имя переменной
+=
+значение
+;
Переменная всегда слева, справа – литерал (значение переменной).
Таким образом, выделим три варианта объявления с присваиванием:
-
или
- Еще пример с объявленной переменной:
Пример с необъявленной переменной:
КОНСТАНТЫ В JAVASCRIPT
const
+имя константы
+=
+значение
+;
Данные, присвоенные константе, в течение программы не меняются!
Javascript типы данных
Определение типа данных необходимо для установления операций, которые можно выполнить над переменными этого типа данных.
Но необходимо помнить, что в javascript типы переменных явно не указываются, т.к. это динамически типизированный, а не строго типизированный язык программирования.
Интерпретатор определяет тип переменной по правой части (по присвоенному ей значению).
Объявление
локальных переменных осуществляется при помощи ключевого
слова var
ЛОГИЧЕСКИЙ ТИП (BOOLEAN)
Пример использования логического типа:
СТРОКОВЫЙ ТИП (STRING)
Строка —
набор символов, обрамляется либо ""
,
либо ''
Три способа создания строкового объекта:
имя_переменной = new String("строковое_значение");
имя_переменной = "строковое_значение";
var имя_переменной = "строковое_значение";
Специальные
символы:\n
—
новая строка\t
—
табуляция
ЧИСЛОВОЙ ТИП (NUMBER)
Используется неявное объявление, без указания конкретного типа данных:
Префикс
16-ной системы в javascript 0x
:
Префикс
8-ной системы в javascript 0
:
Арифметические операторы javascript
Операторы предназначены для составления выражений. Оператор применяется к одному или двум данным, которые в этом случае называются операндами. Например, оператор сложения применяется к двум операндам, а оператор логического отрицания — к одному операнду.
Операторы
присваивания:=
обычная
операция присваивания+=
, -=
присваивание
со сложением или вычитанием*=
, /=
присваивание
с умножением или делением
Арифметические
операторы:+
(сложение
в javascript)
*
(умножение
в javascript)
/
(деление
в javascript)
%
(javascript
остаток от деления или деление по модулю )
++
(javascript
инкремент или увеличение на 1)
--
(javascript
декремент или уменьшение на 1).
JavaScript функции для работы с типами данных
Иногда в программе требуется преобразовать тип переменной. Рассмотрим основные функции, связанные с преобразованием:
parseInt(строка, основание)
преобразует указанную в параметре строку в целое число. Если есть второй параметр — система счисления — преобразование происходит по указанному основанию системы счисления (8, 10 или 16)parseFloat (строка)
преобразует указанную строку в число с плавающей разделительной (десятичной, основание) точкой- Функция
javascript isNaN(значение)
служит для определения того, является ли значение выражения числом
-
Важно: Оба метода и
parseInt
иparseFloat
берут в качестве параметра строку и преобразуют ее в числоИногда можно получить такую ошибку JavaScript —
NaN
— когда значение, не является числом (а ожидается число).В качестве значения переменной может быть
undefined
— не определено. Такое случается когда переменная создана, но значение ей не присвоено.Методы javaScript вывода данных и ввода
alert()
[window.]alert(сообщение)
confirm()
[window.]confirm(сообщение)
prompt()
[window.]prompt(сообщение,значение_поля_ввода)
Метод
prompt
принимает два аргумента: первый выводится в качестве простой строки в модальном окне; второй — значение по умолчанию в текстовом поле для ввода. Оба аргумента заключаются в кавычки.Важно: Во всех трех случаях использования методов ввода или вывода объектwindow
можно опускать. Этот объект означает «окно», и для краткости обращения к методам разрешено его не использовать, поэтому в синтаксисе он выделен квадратными скобками