- •Саратовский государственный технический университет
- •Введение
- •Три уровня web-документа
- •Навигация
- •Глава 1. Основы Java Script
- •Рекомендации по использованию JavaScript
- •Добавление JavaScript кода в html документы
- •Сокрытие сценариев от устаревших браузеров
- •Определение языка сценариев
- •Атрибут language
- •Атрибут defer
- •1.2. Ввод и вывод данных
- •Alert(сообщение);
- •Confirm(сообщение);
- •Вывод в тело документа
- •Практические задания
- •1.3. Типы данных и значения
- •Целые литералы
- •Шестнадцатеричные и восьмеричные литералы
- •Литералы вещественных чисел
- •Работа с числами
- •Специальные числовые значения
- •Строковые литералы
- •Управляющие последовательности в строковых литералах
- •Преобразование чисел в строки
- •Логические значения
- •Преобразование логических значений
- •Функции
- •Функциональные литералы
- •Объекты
- •Объектные литералы
- •Значение null
- •Значение undefined
- •Объекты Error
- •Преобразование типов
- •Имена переменных
- •Создание переменных
- •Var имя_переменной;
- •Типизация переменных
- •Область видимости переменной
- •Var X; // Объявляем неинициализированную переменную. Значением ее является undefined
- •Элементарные и ссылочные типы
- •Комментарии
- •Арифметические операторы
- •Операторы сравнения
- •Операторы сравнения
- •Оператор in
- •Оператор instanceof
- •Строковые операторы
- •Логические операторы
- •Присваивание с операцией
- •Условный оператор (?:)
- •Оператор typeof
- •Оператор создания объекта (new)
- •Оператор delete
- •Глава 2. Инструкции Java Script
- •Инструкция if - оператор условного перехода
- •If (условие)
- •If (условие1) {
- •If (!х) {// Если переменная username равна null, undefined, 0, "" или NaN, она
- •If (!X) alert('Bы ничего не ввели")
- •Инструкция else if
- •Инструкция switch
- •Практические задания
- •Операторы цикла
- •Инструкция while
- •Цикл do/while
- •Инструкция for
- •I f (условие2){
- •Инструкция for/in
- •Инструкция break
- •Инструкция continue
- •Практические задания
- •Инструкция var
- •Инструкция function
- •Инструкция return
- •Инструкция throw
- •Инструкция try/catch/finally
- •Инструкция with
- •Пустая инструкция
- •Глава 3 Объекты
- •Создание объектов
- •Свойства объектов
- •Объекты как ассоциативные массивы
- •Свойства и методы универсального класса Object
- •Объект String (Строка)
- •Методы String обработки строк
- •X.Split(" ") /* значение - массив из элементов: "Привет", "всем" */
- •Методы String форматирования строк
- •Функции вставки и замены подстрок
- •Insstr ("Привет, друзья", " мои", 7) // "Привет, мои друзья"
- •Insstr("Привет, друзья", " мои", 100) // "Привет, друзья мои"
- •Практическое задание
- •Массивы
- •Чтение и запись элементов массива
- •Добавление новых элементов в массив
- •Длина массива
- •Многомерные массивы
- •Методы массивов
- •Функции обработки числовых массивов
- •Практическое задание
- •Практические задания
- •Объект Date
- •Аргументы
- •Статические методы
- •Практические задания
- •Объект Math (Математика)
- •Свойства Math
- •Методы Math
- •Таймеры
- •If (confirm("Прервать процесс ?"))
- •Глава 4 Основы создания сценариев
Объекты Error
В ECMAScript v3 определяется несколько классов для представления ошибок. При возникновении ошибки времени выполнения интерпретатор JavaScript «генерирует» объект одного из этих типов. Каждый объект ошибки имеет свойство message, которое содержит зависящее от реализации сообщение об ошибке. Заранее определены следующие типы объектов ошибок – Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError и URIError.
Преобразование типов
Рассмотрим, как значения каждого типа преобразуются в значения других типов. Основное правило заключается в следующем: если значение одного типа используется в контексте, требующем значение некоего другого типа, интерпретатор JavaScript автоматически пытается преобразовать это значение.
Так, например, если в логическом контексте используется число, оно преобразуется в значение логического типа. Если в контексте строки используется объект, он преобразуется в строковое значение. Если в числовом контексте используется строка, интерпретатор JavaScript пытается преобразовать ее в число.
В табл. 3 приводится информация о том, как производится преобразование значений, когда значение некоторого типа задействовано в определенном контексте.
Таблица 3 Автоматическое преобразование типов
|
Контекст, в котором используется значение | |||
Тип значения |
Строковый |
Числовой |
Логический |
Объектный |
Неопределен_ ное значение |
"undefined" |
NaN |
false |
Error |
null |
"null" |
0 |
false |
Error |
Непустая строка
|
Как есть |
Числовое значение строки или NaN
|
true |
Объект String |
Пустая строка |
Как есть |
0 |
false |
Объект String |
0 |
"0" |
Как есть |
false |
Объект Number
|
NaN |
"NaN" |
Как есть |
false |
Объект Number |
Infinity
|
"Infinity" |
Как есть |
true |
Объект Number |
-Infinity
|
"-Infinity" |
Как есть |
true |
Объект Number |
Любое другое число |
Строковое представление числа |
Как есть
|
true |
Объект Number |
true |
"true" |
1 |
Как есть |
Объект Boolean |
false |
"false" |
0 |
Как есть |
Объект Boolean |
Объект |
toString() |
valueOf(), toString() или NaN
|
true |
Как есть |
Имена переменных
Переменная – это имя, связанное со значением. Мы говорим, что значение хранится, или содержится, в переменной. Переменные позволяют хранить данные в программе и работать с ними. Например, следующая строка JavaScript-кода присваивает значение 2 переменной с именем i:
i = 2;
А следующая добавляет 3 к значению переменной i и присваивает результат новой переменной sum:
var sum = i + 3;
Переменную можно считать контейнером для хранения данных. Данные, сохраняемые в переменной, называют значениями этой переменной.
Переменная имеет имя — последовательность букв, цифр и символа подчеркивания без пробелов и знаков препинания, начинающуюся обязательно с буквы или символа подчеркивания.
Примеры правильных имен переменных:
myFamily, my_adress, _x, tel412_3456.
Примеры неправильных имен переменных:
512group, my adress, tel:412 3456.
При выборе имен переменных нельзя использовать ключевые слова, то есть слова, используемые в определениях конструкций языка.