• Тег <script>
<html>
<body>
<p id="demo">This is a paragraph.</p>
<script type="text/javascript">
document.getElementById("demo").innerHTML=Date();
</script>
</body>
</html>
• Атрибуты тегов (обработка событий)
<a href="delete.jsp" onclick="return confirm(' Выверены ?');"> Удалить </a>
• Гипертекстовые ссылки
<a href="javascript:document.mainform.submit();"> Отправить </a>
Тег <script>
• Указание языка
l По умолчанию – именно JavaScript
l В явном виде – с помощью атрибута
n Устаревший вариант
language="JavaScript"
n Современный вариант
type =" text / javascript "
• Две формы кода
l Код размещается внутри тега
l Код размещается в отдельном файле (обычно с расширением js), файл указывается с помощью атрибута src
l Второй способ «перекрывает» первый
• Типичное использование
l В заголовке документа – для описания функций и предварительных действий
l В теле документа – для условной генерации документа
Обработка браузером
• Обычно код интерпретируется
l Возможны Just-In-Time решения
• Код выполняется по мере обнаружения
l Обращаться к элементам документа, описанным в документе позднее – не лучшая мысль
l Однако обращаться к позднее описанным сущностям из функций можно, если сущности уже будут существовать на момент выполнения функции
• Возможно возникновение ошибок в ходе выполнения
l Блок скрипта не завершит работу
l В консоли браузера появится сообщение об ошибке
Замечания
• JavaScript чувствителен к регистру! (HTML – нечувствителен к регистру, хотя есть рекомендации).
• Соседство атрибутов HTML и событий/методов JavaScript может приводить к неожиданным результатам (например, onClick и onclick).
• Функции выполняются при явном вызове.
• Просто код в теге <script> выполняется по мере обнаружения.
• Код, указанный в атрибутах тегов как обработка событий, выполняется при возникновении событий.
• Код, указанный в ссылках, выполняется при срабатывании ссылки.
Комментарии
Пример 34. Комментарии
<html>
<body>
<script>
document.write(" Этобудетвыведено .");
// document . write ("А это не будет выведено...");
/*
document . write ("И это не будет выведено!");
document . write ("И это тоже не будет, надо же...");
*/
<!-- document . write ("И это не будет?!!");
</script>
</body>
</html>
• Однострочные
l От символов // до конца строки
l От символов <!-- до конца строки
<script type="text/javascript">
<!--
document . write ("Вы не увидите никаких следов кода,");
document . write ("если ваш браузер не поддерживает JavaScript !!!");
//-->
</script>
• Многострочные
l Начало /*
l Конец */
l Не могут быть вложенными
Литералы и переменные
• Литералы
l Числовые
10 010 0 x 10 1.1 .1 1. 1 e 1
l Строковые
"Строка" 'Строка' " I ' mastring " '\'' "\""
• Переменные
l Могут объявляться с помощью ключевого слова var
n vara = 5, b = " лет ";
n Если объявление вне функции – переменная глобальная, иначе – локальная
l Могут объявляться и без ключевого слова var
n c = "И так тоже можно"
n Переменная всегда глобальная…
l Объявление переменных «на лету» + их глобальность + чувствительность к регистру = источник ошибок
l Тип переменной определяется её содержимым
l Приведение типов автоматическое
Таблица 10 – Операторы
Приоритет | Оператор | Запись |
1 | Доступ к элементу | . [] |
Создание объекта | new | |
2 | Вызов функции | () |
3 | Инкремент (две формы) | ++ |
Декремент (две формы) | -- | |
4 | Логическое отрицание | ! |
Побитовое отрицание | ~ | |
Унарный плюс | + | |
Унарный минус | - | |
Тип объекта | typeof | |
Вычисление выражения без возврата значения | void | |
Удаление свойства объекта | delete | |
5 | Умножение | * |
Деление | / | |
Остаток от деления | % | |
6 | Сложение, конкатенация | + |
Вычитание | - | |
7 | Побитовые сдвиги | <<>>>>> |
8 | Сравнение | <<= >>= |
Проверка наличия свойства в объекте | in | |
Проверка «типа» объекта | instanceof | |
9 | Равенство и строгое (с типом) равенство | == != === !=== |
10 | Побитовое И | & |
11 | Побитовое исключающее ИЛИ | ^ |
12 | Побитовое ИЛИ | | |
13 | Логическое И | && |
14 | Логическое ИЛИ | || |
15 | Тернарный условный оператор | ?: |
16 | Присваивания | = += -= *= /= %= <<= >>= >>>= &= ^= |= |
17 | Разделитель последовательности выражений | , |
Дата: 2019-02-19, просмотров: 338.