final move to png

This commit is contained in:
Ilya Kantor 2015-04-18 01:40:37 +03:00
parent 0ed8583dc2
commit 90855e8899
43 changed files with 101 additions and 101 deletions

View file

@ -13,7 +13,7 @@
Её можно легко представить как шкаф с подписанными ящиками. Все данные хранятся в ящичках. По имени можно легко найти ящик и взять то значение, которое в нём лежит.
<img src="object.svg">
<img src="object.png">
В отличие от реальных шкафов, в ассоциативный массив можно в любой момент добавить новые именованные "ящики" или удалить существующие. Далее мы увидим примеры, как это делается.
@ -40,7 +40,7 @@
var person = {}; // пока пустой
```
<img src="object-person-empty.svg">
<img src="object-person-empty.png">
Основные операции с объектами -- это создание, получение и удаление свойств.
@ -55,7 +55,7 @@ person.name = 'Вася';
person.age = 25; // запишем ещё одно свойство: с именем 'age' и значением 25
```
<img src="object-person-1.svg">
<img src="object-person-1.png">
Значения хранятся "внутри" ящиков. Обратим внимание -- любые значения, любых типов: число, строка -- не важно.
@ -72,7 +72,7 @@ delete person.age;
Осталось только свойство `name`:
<img src="object-person-2.svg">
<img src="object-person-2.png">
Следующая операция:
<ol start="4">

View file

@ -15,7 +15,7 @@ var phrase = message;
В результате такого копирования получились две полностью независимые переменные, в каждой из которых хранится значение `"Привет"`.
<img src="variable-copy-value.svg">
<img src="variable-copy-value.png">
## Копирование по ссылке
@ -31,7 +31,7 @@ var user = {
};
```
<img src="variable-contains-reference.svg">
<img src="variable-contains-reference.png">
Внимание: объект -- вне переменной. В переменной -- лишь "адрес" (ссылка) для него.
@ -48,7 +48,7 @@ var admin = user; // скопировали ссылку
Получили две переменные, в которых находятся ссылки на один и тот же объект:
<img src="variable-copy-reference.svg">
<img src="variable-copy-reference.png">
**Так как объект всего один, то изменения через любую переменную видны в других переменных:**

View file

@ -84,13 +84,13 @@ alert( arr[2].name ); // Петя
Одно из применений массива -- это [очередь](http://ru.wikipedia.org/wiki/%D0%9E%D1%87%D0%B5%D1%80%D0%B5%D0%B4%D1%8C_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29). В классическом программировании так называют упорядоченную коллекцию элементов, такую что элементы добавляются в конец, а обрабатываются -- с начала.
<img src="queue.svg">
<img src="queue.png">
В реальной жизни эта структура данных встречается очень часто. Например, очередь сообщений, которые надо показать на экране.
Очень близка к очереди еще одна структура данных: [стек](http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA). Это такая коллекция элементов, в которой новые элементы добавляются в конец и берутся с конца.
<img src="stack.svg">
<img src="stack.png">
Например, стеком является колода карт, в которую новые карты кладутся сверху, и берутся -- тоже сверху.
@ -225,7 +225,7 @@ alert( a ); // 0,,,,,5
Методы `push/pop` выполняются быстро, а `shift/unshift` -- медленно.
<img src="array-speed.svg">
<img src="array-speed.png">
Чтобы понять, почему работать с концом массива -- быстрее, чем с его началом, разберём подробнее происходящее при операции:
@ -243,7 +243,7 @@ fruits.shift(); // убрать 1 элемент с начала
<li>Обновить свойство `length`.</li>
</ol>
<img src="array-shift.svg">
<img src="array-shift.png">
**Чем больше элементов в массиве, тем дольше их перемещать, это много операций с памятью.**
@ -257,7 +257,7 @@ fruits.shift(); // убрать 1 элемент с начала
fruits.pop(); // убрать 1 элемент с конца
```
<img src="array-pop.svg">
<img src="array-pop.png">
**Перемещать при `pop` не требуется, так как прочие элементы после этой операции остаются на тех же индексах.**

View file

@ -23,7 +23,7 @@ var list = {
```
Графическое представление этого списка:
<img src="linked-list.svg">
<img src="linked-list.png">
Альтернативный способ создания:

View file

@ -147,7 +147,7 @@ alert( result ); // 15
Поток вычислений получается такой
<img src="reduce.svg">
<img src="reduce.png">
В виде таблицы где каждая строка -- вызов функции на очередном элементе массива: