Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание

Тут можно читать онлайн Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание - бесплатно ознакомительный отрывок. Жанр: comp-db, издательство Символ-Плюс, год 2012. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    JavaScript. Подробное руководство, 6-е издание
  • Автор:
  • Жанр:
  • Издательство:
    Символ-Плюс
  • Год:
    2012
  • Город:
    СПб
  • ISBN:
    978-5-93286-215-5
  • Рейтинг:
    2.5/5. Голосов: 21
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание краткое содержание

JavaScript. Подробное руководство, 6-е издание - описание и краткое содержание, автор Дэвид Флэнаган, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C момента выхода первого издания в 1996 году книга "JavaScript: Подробное руководство" превратилась в библию программистов на JavaScript. За эти годы было издано более 500000 экземпляров, и веб-разработчики по-прежнему с восторгом отзываются о ней.
Эта книга - одновременно и руководство программиста, и полноценный справочник по базовому языку JavaScript и клиентским прикладным интерфейсам, предоставляемым веб-броузерами.

JavaScript. Подробное руководство, 6-е издание - читать онлайн бесплатно ознакомительный отрывок

JavaScript. Подробное руководство, 6-е издание - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Дэвид Флэнаган
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

parseInt("3 blind mice") // => 3

parseFloat("3.14 meters") // => 3.14

parseInt("-12.34") // => -12

parseInt("0xff") // => 255

parseInt("0xFF") // => 255

parseInt("-0xFF") // => -255

parseFloat(".1") // => 0.1

parseInt("0.1") // => 0

parseInt(".1") // => NaN: целые числа не могут начинаться с "."

parseFloat("$72.47"); // => NaN: числа не могут начинаться с "$"

Функция parseInt() принимает второй необязательный аргумент, определяющий основание системы счисления для разбираемого числа. Допустимыми являются значения от 2 до 36. Например:

parselnt("11", 2); // => 3 (1*2 + 1)

parselnt("ff”, 16); // => 255 (15*16 + 15)

parselnt("zz", 36); // => 1295 (35*36 + 35)

parselnt("077", 8); // => 63 (7*8 + 7)

parselnt("077", 10) // => 77 (7*10 + 7)

3.8.3. Преобразование объектов в простые значения

Преобразование объектов в логические значения выполняется очень просто: все объекты (включая массивы и функции) преобразуются в значение true. Это справедливо и для объектов-оберток: результатом вызова new Boolean (false) является объект, а не простое значение, поэтому он также преобразуется в значение true.

Преобразование объекта в строку и преобразование объекта в число выполняется вызовом соответствующего метода объекта. Все осложняется тем, что объекты в языке JavaScript имеют два разных метода для выполнения преобразований, а также наличием нескольких специальных случаев, описываемых ниже. Обратите внимание, что правила преобразования объектов в строки и числа, описываемые здесь, применяются только к объектам самого языка JavaScript. Объекты среды выполнения (например, определяемые веб-броузерами) могут предусматривать собственные алгоритмы преобразования в числа и строки.

Все объекты наследуют два метода преобразования. Первый из них называется toString(), он возвращает строковое представление объекта. По умолчанию метод toString() не возвращает ничего особенно интересного (хотя эта информация иногда может оказаться полезной, как будет показано в примере 6.4):

({x:1, y:2}).toString() // => "[object Object]"

Многие классы определяют более специализированные версии метода toString() . Например, метод toString() класса Array преобразует все элементы массива в строки и объединяет результаты в одну строку, вставляя запятые между ними. Метод toString() класса Function возвращает строковое представление функции, зависящее от реализации. На практике обычно реализации преобразуют пользовательские функции в строки с исходным программным кодом на языке JavaScript.

Класс Date определяет метод toString(), возвращающий строку с датой и временем в удобочитаемом формате (который может быть разобран средствами JavaScript). Класс RegExp определяет метод toString(), преобразующий объект RegExp в строку, которая выглядит как литерал регулярного выражения:

[1,2.3].toString() // => "1.2,3"

(function(x) { f(x); }).toString() // => "function(x) {\n f(x);\n}"

/\d+/g.toString() // => "/\\d+/g"

new Date(2010,0,1).toString() // => "Fri Jan 01 2010 00:00:00 GMT+0300"

Другая функция преобразования объектов называется valueOf(). Задача этого метода определена не так четко: предполагается, что он должен преобразовать объект в представляющее его простое значение, если такое значение существует. Объекты по своей природе являются составными значениями, и большинство объектов не могут быть представлены в виде единственного простого значения, поэтому по умолчанию метод valueOf() возвращает не простое значение, а сам объект. Классы-обертки определяют методы valueOf(), возвращающие обернутые простые значения. Массивы, функции и регулярные выражения наследуют метод по умолчанию. Вызов метода valueOf() экземпляров этих типов возвращает сам объект. Класс Date определяет метод valueOf() , возвращающий дату во внутреннем представлении: количество миллисекунд, прошедших с 1 января 1970 года:

var d = new Date(2010, 0, 1); // 1 января 2010 года, (время Московское)

d.valueOf() // => 1262293200000

Теперь, разобравшись с методами toString() и valueOf(), можно перейти к обсуждению особенностей преобразования объектов в строки и в числа. Учтите, что существует несколько специальных случаев, когда JavaScript выполняет преобразование объектов в простые значения несколько иначе. Эти особые случаи рассматриваются в конце данного раздела.

Преобразование объектов в строку интерпретатор JavaScript выполняет в два этапа:

• Если объект имеет метод toString(), интерпретатор вызывает его. Если он возвращает простое значение, интерпретатор преобразует значение в строку (если оно не является строкой) и возвращает результат преобразования. Обратите внимание, что правила преобразований простых значений в строку четко определены для всех типов и перечислены в табл. 3.2.

• Если объект не имеет метода toString() или этот метод не возвращает простое значение, то интерпретатор проверяет наличие метода valueOf(). Если этот метод определен, интерпретатор вызывает его. Если он возвращает простое значение, интерпретатор преобразует это значение в строку (если оно не является строкой) и возвращает результат преобразования.

• В противном случае интерпретатор делает вывод, что ни toString(), ни valueOf() не позволяют получить простое значение и возбуждает исключение TypeError.

При преобразовании объекта в число интерпретатор выполняет те же действия, но первым пытается применить метод valueOf():

• Если объект имеет метод valueOf(), возвращающий простое значение, интерпретатор преобразует (при необходимости) это значение в число и возвращает результат.

• Иначе, если объект имеет метод toString(), возвращающий простое значение, интерпретатор выполняет преобразование и возвращает полученное значение.

• В противном случае возбуждается исключение ТуреError.

Описанный алгоритм преобразования объекта в число объясняет, почему пустой массив преобразуется в число 0, а массив с единственным элементом может быть преобразован в обычное число. Массивы наследуют по умолчанию метод valueOf(), который возвращает сам объект, а не простое значение, поэтому при преобразовании массива в число интерпретатор опирается на метод toString(). Пустые массивы преобразуются в пустую строку. А пустая строка преобразуется в число 0. Массив с единственным элементом преобразуется в ту же строку, что и единственный элемент массива. Если массив содержит единственное число, это число преобразуется в строку, а затем опять в число.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Дэвид Флэнаган читать все книги автора по порядку

Дэвид Флэнаган - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




JavaScript. Подробное руководство, 6-е издание отзывы


Отзывы читателей о книге JavaScript. Подробное руководство, 6-е издание, автор: Дэвид Флэнаган. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x