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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

},

{

size: abstractmethod,

fоreach: abstractmethod,

isEmpty: function() { return this.size() == 0; },

toString: function() {

var s = і = 0;

this.foreach(function(v) {

if (i++ > 0) s += ", ";

s += v;

});

return s +

},

toLocaleString : function() {

var s = "{", і = 0;

this.foreach(function(v) {

if (i++ > 0) s += ", "

if (v == null) s += v; // null и undefined

else s += v. toLocaleString(); // все остальные

});

return s +

},

toArray: function() {

var a = [];

this.foreach(function(v) { a.push(v); });

return a;

},

equals: function(that) {

if (!(that instanceof AbstractEnumerableSet)) return false;

// Если множество that имеет другой размер, множества не равны

if (this.size() ! = that.sizeO) return false;

// Проверить наличие каждого элемента this в множестве that,

try {

this.foreach(function(v){

if (!that.contains(v)) throw false;}

);

return true; // Все элементы одинаковые: множества равны.

} catch (х) {

if (х === false) return false; // Множества не равны

throw х; // Повторно возбудить любое иное возникшее исключение.

}

}

});

/*

* SingletonSet - конкретный подкласс класса AbstractEnumerableSet.

* Множество из единственного элемента, доступное только для чтения.

*/

var SingletonSet = AbstractEnumerableSet.extend(

function SingletonSet(member) { this.member = member; },

{

contains: function(x) { return x === this.member; },

size: function() { return 1; },

foreach: function(f,ctx) { f.call(ctx, this.member); }

}

);

/*

* AbstractWritableSet - абстрактный подкласс класса AbstractEnumerableSet.

* Определяет абстрактные методы add() и remove() и реализует конкретные

* методы union(), intersection() и difference().

*/

var AbstractWritableSet = AbstractEnumerableSet.extend(

function() {

throw new Error("Нельзя создать экземпляр абстрактного класса");

},

{

add: abstractmethod,

remove: abstractmethod,

union: function(that) {

var self = this;

that.foreach(function(v) { self.add(v); });

return this;

},

intersection: function(that) {

var self = this;

this.foreach(function(v){

if(!that.contains(v)) self.remove(v);

});

return this;

},

difference: function(that) {

var self = this;

that.foreach(function(v) { self.remove(v); });

return this;

}

});

/*

* ArraySet - конкретный подкласс класса AbstractWritableSet.

* Представляет множество элементов как массив значений и реализует линейный

* поиск в массиве в своем методе contains(). Поскольку алгоритм метода containsO

* имеет сложность 0(п) вместо 0(1), данный класс следует использовать только

* для создания относительно небольших множеств.

* Обратите внимание, что эта реализация опирается на методы класса Array

* indexOfO и forEach(), которые определяются стандартом ES5.

*/

var ArraySet = AbstractWritableSet.extend(

function ArraySet() {

this.values = [];

this.add.apply(this, arguments);

},

{

contains: function(v) {

return this.values.indexOf(v) != -1;

},

size: function() {

return this.values.length;

},

foreach: function(f.c) {

this.values.forEach(f, c);

},

add: function() {

for(var і = 0; і < arguments.length; i++) {

var arg = arguments[i];

if (Ithis.contains(arg)) this.values.push(arg);

}

return this;

},

remove: function() {

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

Интервал:

Закладка:

Сделать

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

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


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

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

x