- •Саратовский государственный технический университет
- •Введение
- •Три уровня 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 Основы создания сценариев
Создание объектов
Самый простой способ создания объектов заключается во включении в программу литерала объекта.
Литерал объекта – это заключенный в фигурные скобки список свойств (пар «имя–значение»), разделенных запятыми. Имя каждого свойства может быть JavaScript-идентификатором или строкой, а значением любого свойства может быть константа или JavaScript-выражение.
Вот несколько примеров создания объектов:
var empty = {}; // Объект без свойств
var point = { x:0, y:0 };
var circle = { x:point.x, y:point.y+1, radius:2 };
var homer = {"name": "Homer Simpson","age": 34,"married": true,
"occupation": "plant operator",'email': "homer@example.com"};
Литерал объекта – это выражение, которое создает и инициализирует новый объект всякий раз, когда производится вычисление этого выражения. Таким образом, с помощью единственного литерала объекта можно создать множество новых объектов, если этот литерал поместить в тело цикла или функции, которая будет вызываться многократно.
С помощью оператора new можно создать другую разновидность объектов. За этим оператором должно быть указано имя функции-конструктора, выполняющей инициализацию свойств объекта. Например:
var a = new Array(); // Создать пустой массив
var d = new Date(); // Создать объект с текущими временем и датой
var r = new RegExp("javascript", "i");
// Создать объект регулярного выражения
Продемонстрированные здесь функции Array(), Date() и RegExp() являются встроенными конструкторами базового языка JavaScript.
Конструктор Object() создает пустой объект, как если бы использовался литерал {}.
Свойства объектов
Обычно для доступа к значениям свойств объекта используется оператор . (точка). Значение в левой части оператора должно быть ссылкой на объект, к свойствам которого требуется получить доступ. Значение в правой части оператора должноьбыть именем свойства.
Свойства объекта работают как переменные: в них можно сохранять значения и считывать их. Например:
var book=new Object();// Создаем объект. Сохраняем ссылку на него в переменной.
book.title = "Программирование на JavaScript"
// Устанавливаем свойство в объекте.
book.chapter1 = new Object();// Устанавливаем другие свойства.
book.chapter1.title = "Введение в JavaScript";
book.chapter1.pages = 11;
book.chapter2 = { title: "Лексическая структура", pages: 6 };
alert("Заголовок: " + book.title + "\n\t" + "Глава 1 " + book.chapter1.title
+ "\n\t" + "Глава 2 " + book.chapter2.title);
// Читаем значения некоторых свойств из объекта.
Важно обратить внимание на один момент в этом примере – новое свойство объекта можно добавить, просто присвоив этому свойству значение. Если переменные должны объявляться с помощью ключевого слова var, то для свойств объекта такой необходимости (и возможности) нет. К тому же после создания свойства объекта (в результате присваивания) значение свойства можно будет изменить в любой момент простым присваиванием ему нового значения:
book.title = "JavaScript: настольная книга"
Для удаления свойства объекта предназначен оператор delete:
delete book.chapter2;
Обратите внимание, что при удалении свойства его значение не просто устанавливается в значение undefined; оператор delete действительно удаляет свойство из объекта.