- •Саратовский государственный технический университет
- •Введение
- •Три уровня 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 Основы создания сценариев
Преобразование чисел в строки
Преобразование чисел в строки производится автоматически, по мере необходимости. Например, если число используется в операции конкатенации строк, оно будет преобразовано в строку:
var n = 100;
var s = n + " друзей";
Чтобы преобразовать число в строку, достаточно просто сложить его с пустой строкой:
var num_as_string = num + "";
Java Script - язык с так называемыми свободными типами данных.
Для преобразования строк в числа в JavaScript предусмотрены встроенные функции parselnt()и parseFloat().
Функция parseInt(строка, основание) преобразует указанную в параметре строку в целое число в системе счисления по указанному основанию (8, 10 или 16).
Если основание не указано, то предполагается 10, то есть десятеричная система счисления.
Примеры
parselnt("3.14") // результат = 3
parselnt("-7.87") // результат = -7
parselnt("435") // результат = 435
parselnt("Вася") // результат = NaN, то есть не является числом
parselnt("15" ,8) // результат = 13
parseInt("0xFF",16) // результат = 255
Обратите внимание, что при преобразовании в целое число округления не происходит: дробная часть просто отбрасывается.
Функция parseFloat(строка) преобразует указанную строку в число с плавающей разделительной (десятичной, основание) точкой.
Примеры
parseFloat("3.14") // результат = 3.14
parseFloat("-7.875") // результат = -7.875
parseFloat ("435") // результат = 435
parseFloat ("Вася") // результат = NaN, то есть не является
числом
Для явного преобразования числа в строку используется функция String():
var string_value = String(number);
Еще один способ преобразования числа в строку заключается в вызове метода toString():
string_value = number.toString( );
Метод toString() объекта Number может принимать один необязательный аргумент, который определяет базу, или основание, системы счисления для преобразования. Если основание системы счисления не указывается, по умолчанию она предполагается равной 10. Однако существует возможность выполнять преобразования и в других системах
счисления (от 2 до 36), например:
var n = 17;
binary_string = n.toString(2); // Вернет "10001"
octal_string = "0" + n.toString(8); // Вернет "021"
hex_string = "0x" + n.toString(16); // Вернет "0x11"
Одним из недостатков реализаций JavaScript, существовавших до версии JavaScript 1.5, было отсутствие встроенной возможности определить число десятичных знаков, которые должны получиться в результате, или задать результатв экспоненциальном представлении. В связи с этим могут возникать определенные сложности с представлением чисел в традиционных форматах, таких как денежные суммы.
В стандарте ECMAScript v3 и JavaScript 1.5 эта проблема была решена за счет добавления нового метода преобразования числа в строку в классе Number. Метод toFixed() преобразует число в строку и отображает определенное число знаков после десятичной точки.
Метод toExponential() преобразует число в экспоненциальное представление с одним знаком перед точкой и с заданным числом десятичных знаков после точки. Для отображения определенного числа значащих разрядов числа используется метод toPrecision(). Он возвращает строку с экспоненциальным представлением числа, если заданного количества значащих разрядов недостаточно для точного отображения целой
части числа. Обратите внимание: все три метода корректно выполняют округление результата. Ниже приводятся примеры обращения к этим методам:
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(2); // "123456.79"
n.toExponential(1); // "1.2e+5"
n.toExponential(3); // "1.235e+5"
n.toPrecision(4); // "1.235e+5"
n.toPrecision(7); // "123456.8"
Если методы parseInt() и parseFloat() оказываются не в состоянии выполнить преобразование, они возвращают значение NaN:
parseInt("eleven"); // Вернет NaN
parseFloat("$72.47"); // Вернет NaN