Skip to content

Commit a454e2a

Browse files
committed
up
1 parent c80d119 commit a454e2a

File tree

19 files changed

+108
-165
lines changed

19 files changed

+108
-165
lines changed

1-js/06-advanced-functions/03-closure/2-counter-object-independent/solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
Несомненно он отлично будет работать.
2+
Несомненно, он отлично будет работать.
33

44
Обе вложенные функции были созданы с одним и тем же внешним лексическим окружением, так что они имеют доступ к одной и той же переменной `count`:
55

@@ -10,7 +10,7 @@ function Counter() {
1010
this.up = function() {
1111
return ++count;
1212
};
13-
13+
1414
this.down = function() {
1515
return --count;
1616
};

1-js/06-advanced-functions/03-closure/6-filter-through-function/task.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ importance: 5
88

99
Сделайте набор "готовых к употреблению" фильтров:
1010

11-
- `inBetween(a, b)` -- между `a` и `b` или идентично им (включительно).
12-
- `inArray([...])` -- в данном массиве.
11+
- `inBetween(a, b)` -- между `a` и `b` (включительно).
12+
- `inArray([...])` -- находится в данном массиве.
1313

1414
Они должны использоваться таким образом:
1515

16-
- `arr.filter(inBetween(3,6))` -- выбирает только значения межу 3 и 6.
17-
- `arr.filter(inArray([1,2,3]))` -- выбирает только элементы, совпадающие с одним из элементом массива
16+
- `arr.filter(inBetween(3,6))` -- выбирает только значения межу 3 и 6 (включительно).
17+
- `arr.filter(inArray([1,2,3]))` -- выбирает только элементы, совпадающие с одним из элементов массива
1818

1919
Например:
2020

@@ -26,4 +26,3 @@ alert( arr.filter(inBetween(3, 6)) ); // 3,4,5,6
2626

2727
alert( arr.filter(inArray([1, 2, 10])) ); // 1,2
2828
```
29-

1-js/06-advanced-functions/03-closure/7-sort-by-field/task.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ users.sort((a, b) => a.name > b.name ? 1 : -1);
2424
users.sort((a, b) => a.age > b.age ? 1 : -1);
2525
```
2626

27-
Можем мы сделать его более кратким, например, вот так?
27+
Можем ли мы сделать его короче, скажем, вот таким?
2828

2929
```js
3030
users.sort(byField('name'));
3131
users.sort(byField('age'));
3232
```
3333

34-
Таким образом, чтобы вместо функции, мы просто писали `byField(fieldName)`.
34+
То есть, чтобы вместо функции, мы просто писали `byField(fieldName)`.
3535

3636
Напишите функцию `byField`, которая может быть использована для этого.

1-js/06-advanced-functions/03-closure/8-make-army/lexenv-makearmy.svg

Lines changed: 4 additions & 4 deletions
Loading

1-js/06-advanced-functions/03-closure/article.md

Lines changed: 28 additions & 31 deletions
Large diffs are not rendered by default.

1-js/06-advanced-functions/03-closure/lexenv-nested-makecounter-2.svg

Lines changed: 2 additions & 2 deletions
Loading

1-js/06-advanced-functions/03-closure/lexenv-nested-makecounter-5.svg

Lines changed: 1 addition & 1 deletion
Loading

1-js/06-advanced-functions/03-closure/lexenv-nested-makecounter-6.svg

Lines changed: 7 additions & 7 deletions
Loading

1-js/06-advanced-functions/03-closure/lexical-environment-simple.svg

Lines changed: 1 addition & 1 deletion
Loading

1-js/06-advanced-functions/04-var/article.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
2. `const`
88
3. `var`
99

10-
`let` и `const` ведут себя одинаково по отношению к Лексическому Окружению, области видимости.
10+
`let` и `const` ведут себя одинаково по отношению к лексическому окружению, области видимости.
1111

1212
Но `var` - это совершенно другой зверь, берущий своё начало с давних времен. Обычно `var` не используется в современных скриптах, но всё ещё может скрываться в старых.
1313

14-
Если в данный момент вы не работаете с подобными скриптами, вы можете пропустить или отложить прочтение данной главы, однако, есть шанс, что вы столкнётесь с этим в будущем.
14+
Если в данный момент вы не работаете с подобными скриптами, вы можете пропустить или отложить прочтение данной главы, однако, есть шанс, что вы столкнётесь с `var` в будущем.
1515

16-
На первый взгляд, поведение `var` подобно `let`. Например, объявление переменной:
16+
На первый взгляд, поведение `var` похоже на `let`. Например, объявление переменной:
1717

1818
```js run
1919
function sayHi() {
@@ -37,7 +37,7 @@ alert(phrase); // Ошибка: phrase не определена
3737

3838
```js run
3939
if (true) {
40-
var test = true; // используем "var" вместо "let"
40+
var test = true; // используем var вместо let
4141
}
4242

4343
*!*
@@ -51,7 +51,7 @@ alert(test); // true, переменная существует за блоко
5151

5252
```js run
5353
if (true) {
54-
let test = true; // используем "let"
54+
let test = true; // используем let
5555
}
5656

5757
*!*
@@ -67,7 +67,7 @@ for (var i = 0; i < 10; i++) {
6767
}
6868

6969
*!*
70-
alert(i); // 10, переменная "i" доступна вне цикла, т.к. является глобальной переменной
70+
alert(i); // 10, переменная i доступна вне цикла, т.к. является глобальной переменной
7171
*/!*
7272
```
7373

@@ -83,7 +83,7 @@ function sayHi() {
8383
}
8484

8585
sayHi();
86-
alert(phrase); // Ошибка: phrase не определена (видна в консоли разработчика)
86+
alert(phrase); // Ошибка: phrase не определена (видна в консоли разработчика)
8787
```
8888

8989
Как видим, `var` выходит за пределы блоков `if`, `for` и подобных. Это происходит потому, что на заре развития JavaScript блоки кода не имели лексического окружения. Поэтому можно сказать что, `var` - это пережиток прошлого.
@@ -145,7 +145,7 @@ sayHi();
145145

146146
В примере выше `if (false)` условие никогда не выполнится. Но это никаким образом не препятствует созданию переменной `var phrase`, которая находится внутри него, поскольку объявления `var` "всплывают" в начало функции. Т.е. в момент присвоения значения `(*)` переменная уже существует.
147147

148-
**Объявления переменных "всплывают", но присваивания значений - нет."**
148+
**Объявления переменных "всплывают", но присваивания значений - нет.**
149149

150150
Это проще всего продемонстрировать на примере:
151151

@@ -166,7 +166,7 @@ sayHi();
166166
1. Объявление переменной `var`
167167
2. Присвоение значения в переменную `=`.
168168

169-
Объявление переменной обрабатывается в начале выполнения функции ("всплытие"), однако присвоение значения всегда происходит в той строке кода, где оно указано. Т.е. код выполняется по следующему сценарию:
169+
Объявление переменной обрабатывается в начале выполнения функции ("всплывает"), однако присвоение значения всегда происходит в той строке кода, где оно указано. Т.е. код выполняется по следующему сценарию:
170170

171171
```js run
172172
function sayHi() {

0 commit comments

Comments
 (0)