- •Саратовский государственный технический университет
- •Введение
- •Три уровня 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 обозначается как Infinity.
А когда отрицательное число становится меньше наименьшего представимого отрицательного числа, результатом является отрицательная бесконечность, обозначаемая как -Infinity.
Еще одно специальное числовое значение возвращается JavaScript, когда математическая операция (например, деление нуля на ноль) приводит к неопределенному результату или ошибке. В этом случае результатом является специальное значение «нечисло», обозначаемое как NaN. «Нечисло» (Not a Number) ведет себя необычно: оно не равно ни одному другому числу, в том числе и самому себе!
По данной причине для проверки на это значение имеется специальная функция isNaN(значение).
Вычисление этой функции дает результат логического типа. Если указанное значение не является числом, функция возвращает true, иначе — false.
Функции isNaN() считает числом и данные числового типа, и строку, содержащую только число. Логические значения также идентифицируются как числа. При этом значению true соответствует 1, а значению false — 0.
Таким образом, если isNaN возвращает false, то это означает, что значение параметра имеет числовой тип, либо является числом, преобразованным в строковый тип, либо является логическим (true или false).
isNaN(123) // результат false (то есть
это - число)
isNaN( "123") // результат false, хотя и в
виде строки)
isNaN("50 рублей") // результат true (то
есть это - не число)
isNaN(true) // результат false
isNaN(false) // результат false
isNaN("Вася") // результат true (то есть это - не число)
В табл. 1 приведено несколько констант, определенных в JavaScript для обозначения специальных числовых значений.
Таблица 1. Специальные числовые константы
Константа |
Значение |
Infinity |
Специальное значение, обозначающее бесконечность |
NaN |
Специальное значение – «нечисло» |
Number.MAX_VALUE |
Максимальное представимое значение |
Number.MIN_VALUE |
Наименьшее (ближайшее к нулю) представимое значение |
Number.NaN |
Специальное значение – «нечисло» |
Number.POSITIVE_INFINITY |
Специальное значение, обозначающее плюс бесконечность |
Number.NEGATIVE_INFINITY |
Специальное значение, обозначающее минус бесконечность |
Строки
Строка представляет собой последовательность букв, цифр, знаков пунктуации и прочих Unicode-символов и является типом данных JavaScript для представления текста. Строковые литералы можно использовать в своих программах, заключая их в согласованные пары одинарных или двойных кавычек. Обратите внимание: в JavaScript нет символьного типа данных, такого как char в C, C++ и Java. Одиночный символ представлен строкой единичной длины.