bookmate game
ru
Дэвид Флэнаган

JavaScript. Подробное руководство

Notify me when the book’s added
To read this book, upload an EPUB or FB2 file to Bookmate. How do I upload a book?
  • Александр Васильевhas quoted9 years ago
    Дэвид Флэнаган
    JavaScript. Подробное руководство, 5-е издание
    Перевод А. Киселева
    Главный редактор Зав. редакцией Научный редактор Редактор Корректор Верстка
    А. Галунов
    Н. Макарова
    О. Цилюрик А. Жданов С. Минин Д. Орлова
    Флэнаган Д.
    JavaScript. Подробное руководство. - Пер. с англ. - СПб: Символ-Плюс, 2008. - 992 с., ил.
    ISBN-10: 5-93286-103-7 ISBN-13: 978-5-93286-103-5
    Пятое издание бестселлера «JavaScript. Подробное руководство» полностью обновлено. Рассматриваются взаимодействие с протоколом HTTP и применение технологии Ajax, обработка XML-документов, создание графики на стороне клиента с помощью тега , пространства имен в JavaScript, необходимые для разработки сложных программ, классы, замыкания, Flash и встраивание сценариев JavaScript в Java-приложения.
    Часть I знакомит с основами JavaScript. В части II описывается среда разработки сценариев, предоставляемая веб-броузерами. Многочисленные примеры демонстрируют, как генерировать оглавление HTML-документа, отображать анимированные изображения DHTML, автоматизировать проверку правильности заполнения форм, создавать всплывающие подсказки с использованием Ajax, как применять XPath и XSLT для обработки XML-документов, загруженных с помощью Ajax. Часть III - обширный справочник по базовому JavaScript (классы, объекты, конструкторы, методы, функции, свойства и константы, определенные в JavaScript 1.5 и ECMAScript v3). Часть IV - справочник по клиентскому JavaScript (API веб-броузеров, стандарт DOM API Level 2 и недавно появившиеся стандарты: объект XMLHttpRequest и тег ).
    ISBN-10:5-93286-103-7 ISBN-13:978-5-93286-103-5 ISBN 0-596-10199-6 (англ)
    © Издательство Символ-Плюс, 2008
    Authorized translation of the English edition © 2006 O’Reilly Media, Inc. This translation is published and sold by permission of O’Reilly Media, Inc., the owner of all rights to publish and sell the same.
    Все права на данное издание защищены Законодательством РФ, включая право на полное или частичное воспроизведение в любой форме. Все товарные знаки или зарегистрированные товарные знаки, упоминаемые в настоящем издании, являются собственностью соответствующих фирм.
    Издательство «Символ-Плюс». 199034, Санкт-Петер
  • yanpriohas quoted2 years ago
    Несмотря на то что объекты RegExp не относятся к фундаментальным типам данных языка, они имеют синтаксис литералов и могут вставляться непосредственно в текст программы на языке JavaScript. Текст, заключенный в пару символов слэша, интерпретируется как литерал регулярного выражения. За вторым символом слэша из этой пары может следовать один или более символов, которые модифицируют поведение шаблона. Например:

    /"HTML/ // Соответствует символам Н Т М L в начале строки

    /[ 1-9][0-9]*/ // Соответствует цифре, кроме нуля, за которой следует любое число цифр

    /\bjavascript\b/i // Соответствует подстроке "javascript”

    // как отдельному слову, учитывает регистр символов
  • yanpriohas quoted2 years ago
    В языке JavaScript определен конструктор RegExp(), предназначенный для создания объектов, представляющих текстовые шаблоны. Эти шаблоны описываются с помощью регулярных выражений, синтаксис которых был заимствован языком JavaScript из языка Perl. И строки, и объекты RegExp имеют методы, позволяющие выполнять операции сопоставления с шаблоном и поиска с заменой при помощи регулярных выражений
  • yanpriohas quoted2 years ago
    Не забывайте, что строки в JavaScript являются неизменяемыми. Такие методы, как герlасе() и toUpperCase() возвращают новые строки: они не изменяют строку, относительно которой были вызваны.
  • yanpriohas quoted2 years ago
    Кроме того, в дополнение к свойству length строки имеют множество методов (как обычно, более полную информацию ищите в справочном разделе):

    var s = "hello, world" // Начнем с того же текста.

    s.charAt(0) // => "h": первый символ.

    s.charAt(s.length-1) // => "d": последний символ.

    s.substring(1,4) // => "ell": 2-й, 3-й и 4-й символы.

    s.slice(1,4) // => "ell": то же самое

    s.slice(-3) // => "rld": последние 3 символа

    s.indexOf("l") // => 2: позиция первого символа l.

    s.lastlndexOf('l') // => 10: позиция последнего символа l.

    s.indexOf("l", 3) // => 3: позиция первого символа ”1", следующего

    // за 3 символом в строке

    s.split(",") // => ["hello", "world"] разбивает на подстроки

    s.replace("h", "H") // => "Hello, world": замещает все вхождения подстроки

    s.toUpperCase() // => "HELLO, WORLD"
  • yanpriohas quoted2 years ago
    строковые литералы можно разбивать на несколько строк, заканчивая каждую строку, кроме последней, символом обратного слэша (\). Ни один из символов обратного слэша, как и следующие за ними символы перевода строки, не будут включены в строковый литерал. Чтобы включить в строковый литерал символ перевода строки, следует использовать последовательность символов \п
  • yanpriohas quoted2 years ago
    Стандарт представления вещественных чисел IEEE-754, используемый в JavaScript (и практически во всех других современных языках программирования), определяет двоичный формат их представления, который может обеспечить точное представление таких дробных значений, как 1/2, 1/8 и 1/1024. К сожалению, чаще всего мы пользуемся десятичными дробями (особенно при выполнении финансовых расчетов), такими как 1/10,1/100 и т. д. Двоичное представление вещественных чисел неспособно обеспечить точное представление таких простых чисел, как 0.1.

    Точность представления вещественных чисел в JavaScript достаточно высока и позволяет обеспечить очень близкое представление числа 0.1. Но тот факт, что это число не может быть представлено точно, может приводить к проблемам. Взгляните на следующий фрагмент:

    var х = .3 - .2; // тридцать копеек минус двадцать копеек

    var у = .2 - .1; // двадцать копеек минус 10 копеек

    x == y; // => false: получились два разных значения

    X == .1 // => false: .3-.2 не равно .1

    У == .1 // => true: .2-.1 равно .1
  • yanpriohas quoted2 years ago
    var zero = 0; // Обычный ноль

    var negz = -0; // Отрицательный ноль

    zero === negz // => true: ноль и отрицательный ноль равны

    1/zero === 1/negz // => false: Infinity и -Infinity не равны
  • yanpriohas quoted2 years ago
    Значение «не число» в JavaScript обладает одной необычной особенностью: операция проверки на равенство всегда возвращает отрицательный результат, даже если сравнить его с самим собой.
  • yanpriohas quoted2 years ago
    Деление на ноль не считается ошибкой в JavaScript: в этом случае просто возвращается бесконечность или отрицательная бесконечность. Однако есть одно исключение: операция деления нуля на ноль не имеет четко определенного значения, поэтому в качестве результата такой операции возвращается специальное значение «не число» (not-a-number), которое обозначается как NaN. Значение NaN возвращается также при попытке разделить бесконечность на бесконечность, извлечь квадратный корень из отрицательного числа или выполнить арифметическую операцию с нечисловыми операндами, которые не могут быть преобразованы в числа
fb2epub
Drag & drop your files (not more than 5 at once)