- •1. Основные понятия
- •3.4.2. Окно с сообщением и кнопками ok и Cancel
- •3.4.3. Окно с полем ввода и кнопками ok и Cancel
- •3.6. Типы данных и инициализация переменных. Определение типа данных переменной
- •3.7. Операторы JavaScript
- •3.7.1. Математические операторы
- •3.7.2. Операторы присваивания
- •3.7.3. Двоичные операторы
- •3.7.4. Оператор обработки строк
- •3.8. Преобразование типов данных
- •3.9. Специальные символы. Разбиение сообщения в диалоговом окне на несколько строк
- •3.10. Массивы
- •3.11. Функции. Разделение программы на фрагменты
- •3.11.1. Основные понятия
- •3.11.2. Расположение функций внутри html-документа
- •3.11.3. Рекурсия. Вычисление факториала
- •3.11.4. Глобальные и локальные переменные
- •3.12. Условные операторы. Выполнение блоков кода только при соответствии условию
- •3.12.1. Операторы сравнения
- •3.12.2. Оператор ветвления if...Else. Проверка ввода пользователя
- •3.12.3. Оператор ? Проверка числа на четность
- •3.12.4. Оператор выбора switch
- •3.13. Операторы циклов. Многократное выполнение блока кода
- •3.13.1. Цикл for
- •3.13.2. Цикл while
- •3.13.3. Цикл do...While
- •3.13.4. Оператор continue.
- •3.13.5. Оператор break. Прерывание цикла
- •3.14. Ошибки в программе
- •3.14.1. Синтаксические ошибки
- •3.14.2. Логические ошибки
- •3.14.3. Ошибки времени выполнения
- •3.15. Встроенные классы JavaScript
- •3.15.1. Основные понятия
- •3.15.2. Класс Global
- •3.15.3. Класс Number. Работа с числами
- •3.15.4. Класс String. Обработка строк
- •3.15.5. Класс Array. Работа с массивами и их сортировка
- •Многомерные массивы
- •Ассоциативные массивы. Перебор ассоциативных массивов
- •3.15.6. Класс Math. Использование математических функций
- •3.15.7. Класс Date. Получение текущей даты и времени. Вывод даты и времени в окне Web-браузера
3.15.3. Класс Number. Работа с числами
Класс Number используется для хранения числовых величин, а также для доступа к константам. Экземпляр класса создается по следующей схеме:
Экземпляр класса> new Number (<Начальное значение>);
Свойства класса Number можно использовать без создания экземпляра класса
□ max_value — максимально допустимое в JavaScript число:
var m_Var2 = Number.MAX_VALUE; // 1.7976931348623157e+308
□ min_value — минимально допустимое в JavaScript число:
var m_Var2 = Number.MIN_VALUE; // 5e-324
□ NaN — значение NaN:
var m_Var2 = Number.NaN; // NaN
□ negative_infinity — значение "минус бесконечность":
var m_Var2 = Number.NEGATIVE_INFINITY; // -Infinity
□ positive_infinity — значение "плюс бесконечность":
var m_Var2 = Number.POSITIVE_INFINITY; // Infinity
Методы:
□ valueOf() возвращает числовое значение экземпляра класса:
с_Var = new Number (15);
var m_Num = с_Var.valueOf(); // 15
document.write(typeof(m_Num)); // number
□ tostring() возвращает строковое представление числа:
с_Var = new Number (15);
var m_Str = с_Var.toString(); // "15"
document.write(typeof(m_Str)); // string
3.15.4. Класс String. Обработка строк
Класс string предоставляет доступ к множеству методов для обработки строк. Экземпляр класса создается по следующей схеме:
Экземпляр класса> = new String (<Строка>);
Свойство length возвращает длину строки в символах:
с_Str = new String ("Hello, world");
document.write(с_Str.length); // 12
Методов у объектов класса string значительно больше:
tostring() и valueOf() возвращают значение строки:
с_Str = new String ("Hello, world");
document.write(с_Str.toString()); // "Hello, world"
charAt(<номер символа>) извлекает символ, номер которого указан в качестве параметра. Нумерация символов в строке начинается с нуля:
с_Str = new String ("Hello, world");
document.write(с_Str.charAt(0)); // "Н"
toLowerCase () преобразует символы строки в символы нижнего регистра:
с_Str = new String ("Hello, world");
с_Str = с_Str.toLowerCase();
document.write(с_Str); // "hello, world"
toUpperCase () преобразует символы строки в символы верхнего регистра:
с_Str = new String ("Hello, world");
с_Str = с_Str.toUpperCase();
document.write(с_Str); // "HELLO, WORLD"
substr (<Начало фрагмента>, [<Длина фрагмента>]) извлекает фрагмент строки заданной длины. Если второй параметр пропущен, возвращаются все символы до конца строки:
с_Str = new String ("Hello, world");
document.write(с_Str.substr(0, 5)); // "Hello"
document.write(с_Str.substr(7)); // "world"
substring(<Начало фрагмента:», <Конец фрагмента>) также извлекает фрагмент строки, заданный в этом случае номерами начального и конечного символов.
Последний символ во фрагмент не включается:
с_Str = new String ("Hello, world");
document.write(с_Str.substring(7, 12)); // "world"
indexOf(<Подстрока>, [<Начальная позиция поиска>]) возвращает номер позиции первого вхождения подстроки в текущей строке. Если второй параметр не задан, то поиск начинается с начала строки. Если подстрока не найдена, возвращается значение -1:
с_Str = new String ("Hello, world");
document.write(с_Str.indexOf("ll")); // 2
document.write(с_Str.indexOf("ll", 5)); // -1
lastIndexOf(<Подстрока>,[<Начальная позиция поиска>]) Определяет номер позиции последнего вхождения подстроки в текущей строке. Если второй параметр не задан, то поиск начинается с начала строки. Если подстрока не найдена, возвращается значение -1:
с_Str = new String ("Hello, world");
document.write(с_Str.lastIndexOf("o")); // 8
split (<Разделитель>, [<лимит>]) возвращает массив, полученный результате разделения строки на подстроки по символу-разделителю. Ее ли второй параметр присутствует, то он задает максимальное количеств элементов в результирующем массиве:
с_Str = new String ("Hello, world");
var m_Mass = с_Str.split(",");
document.write(m_Mass[0]); // "Hello" — первый элемент массива
document.write(m_Mass[1]); // " world" — второй элемент массива
search(<Регулярное выражение>) определяет номер позиции первого вхождения подстроки, совпадающей с регулярным выражением;
match (<Регулярное выражение>) возвращает массив с результатами поиска, совпадающими с регулярным выражением;
replace(<Регулярное выражение>, <Текст для замены>) возвращае строку, которая является результатом поиска и замены в исходной строк с использованием регулярного выражения.
Примеры использования последних трёх методов мы рассмотрим при изучении регулярных выражений и встроенного класса RegExp (см. разд. 3.15.10).