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

Здесь есть возможность читать онлайн «Дэвид Флэнаган - JavaScript. Подробное руководство, 6-е издание» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: СПб, Год выпуска: 2012, ISBN: 2012, Издательство: Символ-Плюс, Жанр: Базы данных, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

JavaScript. Подробное руководство, 6-е издание: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «JavaScript. Подробное руководство, 6-е издание»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «JavaScript. Подробное руководство, 6-е издание», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Возможно, вы обратили внимание, что в третьем вызове, в примере выше, методу reduce() передается единственный аргумент: здесь не указано начальное значение. Когда метод reduce() вызывается без начального значения, как в данном случае, в качестве начального значения используется первый элемент массива. Это означает, что при первом вызове функции свертки будут переданы первый и второй элементы массива. В примерах вычисления суммы и произведения точно так же можно было бы опустить аргумент с начальным значением.

Вызов метода reduce() с пустым массивом без начального значения вызывает исключение ТуреЕrror . Если вызвать метод с единственным значением - с массивом, содержащим единственный элемент, и без начального значения или с пустым массивом и начальным значением - он просто вернет это единственное значение, не вызывая функцию свертки.

Метод reduceRight() действует точно так же, как и метод reduce(), за исключением того, что массив обрабатывается в обратном порядке, от больших индексов к меньшим (справа налево). Это может потребоваться, если операция свертки имеет ассоциативность справа налево, например:

var а = [2, 3, 4]

// Вычислить 2^(3^4). Операция возведения в степень имеет ассоциативность справа налево

var big = a.reduceRight(function(accumulator,value) {

return Math.pow(value,accumulator);

});

Обратите внимание, что ни reduce(), ни reduceRight() не принимают необязательный аргумент, определяющий значение this внутри функции свертки. Его место занял необязательный аргумент с начальным значением. Если потребуется вызывать функцию свертки как метод конкретного объекта, можно воспользоваться методом Function.bind() .

Следует отметить, что методы every() и some() , описанные выше, являются своеобразной разновидностью операции свертки массива. Однако они отличаются от reduce() тем, что стремятся завершить обход массива как можно раньше и не всегда проверяют значения всех его элементов.

В примерах, представленных до сих пор, для простоты использовались числовые массивы, но методы reduce() и reduceRight() могут использоваться не только для математических вычислений. Взгляните на функцию union() в примере 6.2. Она вычисляет «объединение» двух объектов и возвращает новый объект, имеющий свойства обоих. Эта функция принимает два объекта и возвращает другой объект, т. е. она действует как функция свертки, поэтому ее можно использовать с методом reduce() и обобщить операцию создания объединения произвольного числа объектов:

var objects = [{х:1}, {у:2}, {z:3}];

var merged = objects.reduce(union); // => {x:1, y:2, z:3}

Напомню, что, когда два объекта имеют свойства с одинаковыми именами, функция union() использует значение свойства второго аргумента, т.е. reduce() и reduceRight() могут давать разные результаты при использовании с функцией union():

var objects = [{х:1,а:1}, {у:2,а:2}, {z:3,а:3}]:

var leftunion = objects.reduce(union); // {x:1, y:2, z:3. a:3}

var rightunion = objects.reduceRight(union); // {x:1, y:2, z:3, a:1}

7.9.6. Методы indexOf() и lastlndexOf()

Методы indexOf() и lastlndexOf() отыскивают в массиве элемент с указанным значением и возвращают индекс первого найденного элемента или -1, если элемент с таким значением отсутствует. Метод indexOf() выполняет поиск от начала массива к концу, а метод lastlndexOf() - от конца к началу.

а = [0.1,2.1,0];

a. indexOf(1) // => 1: а[1] = 1

a.lastlndexOf(1) // => 3: а[3] = 1

a.index0f(3) // => -1: нет элемента со значением 3

В отличие от других методов, описанных в этом разделе, методы indexOf() и lastlndexOf() не принимают функцию в виде аргумента. В первом аргументе им передается искомое значение. Второй аргумент является необязательным: он определяет индекс массива, с которого следует начинать поиск. Если опустить этот аргумент, метод indexOf() начнет поиск с начала массива, а метод lastlndexOf() - с конца. Во втором аргументе допускается передавать отрицательные значения, которые интерпретируются как смещение относительно конца массива, как в методе splice() : значение -1, например, соответствует последнему элементу массива.

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

Интервал:

Закладка:

Сделать

Похожие книги на «JavaScript. Подробное руководство, 6-е издание»

Представляем Вашему вниманию похожие книги на «JavaScript. Подробное руководство, 6-е издание» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «JavaScript. Подробное руководство, 6-е издание» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x