Skip to content

Commit df6127a

Browse files
committed
fixes
1 parent ef89e26 commit df6127a

4 files changed

Lines changed: 26 additions & 26 deletions

File tree

1-js/10-es-modern/4-es-function/article.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
```js run
1111
function showMenu(title = "Без заголовка", width = 100, height = 200) {
12-
alert(`${title} ${width} ${height}`);
12+
alert(title + ' ' + width + ' ' + height);
1313
}
1414

1515
showMenu("Меню"); // Меню 100 200
@@ -19,7 +19,7 @@ showMenu("Меню"); // Меню 100 200
1919

2020
```js run
2121
function showMenu(title = "Заголовок", width = 100, height = 200) {
22-
alert(`title=${title} width=${width} height=${height}`);
22+
alert('title=' + title + ' width=' + width + ' height=' + height);
2323
}
2424

2525
// По умолчанию будут взяты 1 и 3 параметры
@@ -35,14 +35,14 @@ showMenu(undefined, null);
3535

3636
```js run
3737
function sayHi(who = getCurrentUser().toUpperCase()) {
38-
alert(`Привет, ${who}!`);
38+
alert('Привет, ' + who);
3939
}
4040

4141
function getCurrentUser() {
4242
return 'Вася';
4343
}
4444

45-
sayHi(); // Привет, ВАСЯ!
45+
sayHi(); // Привет, ВАСЯ
4646
```
4747

4848
Заметим, что значение выражения `getCurrentUser().toUpperCase()` будет вычислено, и соответствующие функции вызваны -- лишь в том случае, если это необходимо, то есть когда функция вызвана без параметра.
@@ -55,7 +55,7 @@ sayHi(); // Привет, ВАСЯ!
5555

5656
```js run
5757
function showName(firstName, lastName, *!*...rest*/!*) {
58-
alert(`${firstName} ${lastName} - ${rest}`);
58+
alert(firstName + ' ' + lastName + ' - ' + rest);
5959
}
6060

6161
// выведет: Юлий Цезарь - Император,Рима
@@ -116,7 +116,7 @@ let options = {
116116
*!*
117117
function showMenu({title, width, height}) {
118118
*/!*
119-
alert(`${title} ${width} ${height}`); // Меню 100 200
119+
alert(title + ' ' + width + ' ' + height); // Меню 100 200
120120
}
121121

122122
showMenu(options);
@@ -134,7 +134,7 @@ let options = {
134134
*!*
135135
function showMenu({title="Заголовок", width:w=100, height:h=200}) {
136136
*/!*
137-
alert(`${title} ${w} ${h}`);
137+
alert(title + ' ' + w + ' ' + h);
138138
}
139139

140140
// объект options будет разбит на переменные
@@ -149,7 +149,7 @@ showMenu(options); // Меню 100 200
149149
'use strict';
150150

151151
function showMenu({title="Заголовок", width:w=100, height:h=200} *!*= {}*/!*) {
152-
alert(`${title} ${w} ${h}`);
152+
alert(title + ' ' + w + ' ' + h);
153153
}
154154

155155
showMenu(); // Заголовок 100 200
@@ -170,7 +170,7 @@ function f() {} // f.name == "f"
170170

171171
let g = function g() {}; // g.name == "g"
172172

173-
alert(`${f.name} ${g.name}`) // f g
173+
alert(f.name + ' ' + g.name) // f g
174174
```
175175

176176
В примере выше показаны Function Declaration и Named Function Expression. В синтаксисе выше довольно очевидно, что у этих функций есть имя `name`. В конце концов, оно указано в объявлении.
@@ -263,7 +263,7 @@ alert( sum(1, 2) ); // 3
263263

264264
*!*
265265
// вызов getTime() будет возвращать текущее время
266-
let getTime = () => `${new Date().getHours()} : ${new Date().getMinutes()}`;
266+
let getTime = () => new Date().getHours() + ':' + new Date().getMinutes();
267267
*/!*
268268

269269
alert( getTime() ); // текущее время
@@ -279,7 +279,7 @@ let getTime = () => {
279279
let date = new Date();
280280
let hours = date.getHours();
281281
let minutes = date.getMinutes();
282-
return `${hours}:${minutes}`;
282+
return hourse + ':' + minutes;
283283
};
284284
*/!*
285285

@@ -320,7 +320,7 @@ let group = {
320320
showList: function() {
321321
*!*
322322
this.students.forEach(
323-
(student) => alert(`${this.title}: ${student}`)
323+
student => alert(this.title + ': ' + student)
324324
)
325325
*/!*
326326
}
@@ -346,7 +346,7 @@ let group = {
346346
showList: function() {
347347
*!*
348348
this.students.forEach(function(student) {
349-
alert(`${this.title}: ${student}`); // будет ошибка
349+
alert(this.title + ': ' + student); // будет ошибка
350350
})
351351
*/!*
352352
}
@@ -403,11 +403,11 @@ function defer(f, ms) {
403403
*/!*
404404

405405
function sayHi(who) {
406-
alert(`Привет, ${who}!`);
406+
alert('Привет, ' + who);
407407
}
408408

409409
let sayHiDeferred = defer(sayHi, 2000);
410-
sayHiDeferred("Вася"); // Привет, Вася! через 2 секунды
410+
sayHiDeferred("Вася"); // Привет, Вася через 2 секунды
411411
```
412412

413413
Аналогичная реализация без функции-стрелки выглядела бы так:

1-js/5-functions-closures/5-closures-module/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ var lodash = (function() {
295295

296296
Например, `defaults` из примера выше имеет доступ к `assignDefaults`.
297297

298-
Но снаружи программист, использующий модуль, может обращаться напрямую только к тем, которые экспортированы. Благодаря этому будут скрыты внутренние аспекты реализации, которые нужны только разработчику модуля.
298+
Но снаружи программист, использующий модуль, может обращаться напрямую только к тем переменным и функциям, которые экспортированы. Благодаря этому будут скрыты внутренние аспекты реализации, которые нужны только разработчику модуля.
299299

300300
Можно придумать и много других вариаций такого подхода. В конце концов, "модуль" -- это всего лишь функция-обёртка для скрытия переменных.
301301

1-js/5-functions-closures/7-with/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ with(obj) {
2020

2121
В примере ниже переменная будет взята не из глобальной области, а из `obj`:
2222

23-
```js run
23+
```js run no-strict
2424
var a = 5;
2525

2626
var obj = {
@@ -36,7 +36,7 @@ with(obj) {
3636

3737
Попробуем получить переменную, которой в `obj` нет:
3838

39-
```js run
39+
```js run no-strict
4040
var b = 1;
4141

4242
var obj = {
@@ -54,7 +54,7 @@ with(obj) {
5454

5555
Особенно забавно выглядит применение вложенных `with`:
5656

57-
```js run
57+
```js run no-strict
5858
var obj = {
5959
weight: 10,
6060
size: {
@@ -80,7 +80,7 @@ with(obj) {
8080

8181
Например:
8282

83-
```js run
83+
```js run no-strict
8484
var obj = {
8585
a: 10
8686
}
@@ -103,7 +103,7 @@ alert( obj.a ); // 20, переменная была изменена в объ
103103

104104
Например:
105105

106-
```js run
106+
```js run no-strict
107107
var obj = {
108108
weight: 10
109109
};
@@ -127,7 +127,7 @@ alert( obj.a ); // 20, переменная была изменена в объ
127127

128128
Вот, к примеру, запустите этот код в современном браузере. Производительность функции `fast` существенно отличается `slow` с пустым(!) `with`. И дело тут именно в `with`, т.к. наличие этой конструкции препятствует оптимизации.
129129

130-
```js run
130+
```js run no-strict
131131
var i = 0;
132132
133133
function fast() {

2-ui/1-document/15-metrics/article.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,18 +210,18 @@ element.style.height = element.scrollHeight + 'px';
210210

211211
![](metric-scroll-top.png)
212212

213-
```smart header="`scrollLeft/scrollTop` можно изменять"
213+
````smart header="`scrollLeft/scrollTop` можно изменять"
214214
В отличие от большинства свойств, которые доступны только для чтения, значения `scrollLeft/scrollTop` можно изменить, и браузер выполнит прокрутку элемента.
215215

216-
[online]
216+
```online
217217
218218
При клике на следующий элемент будет выполняться код `elem.scrollTop += 10`. Поэтому он будет прокручиваться на `10px` вниз:
219219
220220
<div onclick="this.scrollTop+=10" style="cursor:pointer;border:1px solid black;width:100px;height:80px;overflow:auto">Кликни<br>Меня<br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9</div>
221-
222-
[/online]
223221
```
224222

223+
````
224+
225225
## Не стоит брать width/height из CSS
226226
227227
Мы рассмотрели метрики -- свойства, которые есть у DOM-элементов. Их обычно используют для получения их различных высот, ширин и прочих расстояний.

0 commit comments

Comments
 (0)