Skip to content

Commit 86fbbb7

Browse files
authored
Merge pull request BonsaiDen#356 from lmhs/translation_fix-ru_function_scopes
Russian translation fix - function scopes
2 parents b58c472 + 7f86b6e commit 86fbbb7

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

doc/ru/function/constructors.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070

7171
### Создание объектов с использованием фабрик
7272

73-
Часто рекомендуют **не** использовать `new`, поскольку если вы его забудете, это может привести к ошибкам.
73+
Часто **не** рекомендуют использовать `new`, поскольку если вы его забудете, это может привести к ошибкам.
7474

7575
Чтобы создать новый объект, лучше использовать фабрику и создать новый объект *внутри* этой фабрики.
7676

@@ -89,13 +89,13 @@
8989
return obj;
9090
}
9191

92-
Хотя данный пример и сработает, если вы забыли ключевое слово `new` и благодаря ему легче работать с [приватными переменными](#function.closures), у него есть несколько недостатков
92+
Хотя данный пример и сработает, если вы забыли ключевое слово `new`, и благодаря ему легче работать с [приватными переменными](#function.closures), у него есть несколько недостатков
9393

9494
1. Он использует больше памяти, поскольку созданные объекты **не** хранят методы в прототипе и соответственно для каждого нового объекта создаётся копия каждого метода.
9595
2. Чтобы эмулировать наследование, фабрике нужно скопировать все методы из другого объекта или установить прототипом нового объекта старый.
96-
3. Разрыв цепочки прототипов просто по причине забытого ключевого слова `new` идёт в разрез с духом языка.
96+
3. Разрыв цепочки прототипов просто по причине забытого ключевого слова `new` идёт вразрез с духом языка.
9797

9898
### Заключение
9999

100-
Хотя забытое ключевое слово `new` и может привести к багам, это точно **не** причина отказываться от использования прототипов. В конце концов, полезнее решить какой из способов лучше совпадает с требованиями приложения: очень важно выбрать один из стилей создания объектов и после этого **не изменять** ему.
100+
Хотя забытое ключевое слово `new` и может привести к багам, это точно **не** причина отказываться от использования прототипов. В конце концов, полезнее решить, какой из способов лучше совпадает с требованиями приложения: очень важно выбрать один из стилей создания объектов и после этого **не изменять** ему.
101101

doc/ru/function/scopes.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@
7373

7474
В то время как `foo` и `i` — локальные переменные в области видимости функции `test`, присвоение `bar` переопределит значение одноимённой глобальной переменной.
7575

76-
### Высасывание
76+
### Всплытие
7777

78-
JavaScript **высасывает** определения. Это значит, что оба определения с использованием `var` и определение `function` будут перенесены наверх заключающей их области видимости.
78+
В JavaScript действует механизм **всплытия** определения. Это значит, что оба определения с использованием `var` и определение `function` будут перенесены наверх заключающей их области видимости.
7979

8080
bar();
8181
var bar = function() {};
@@ -116,16 +116,16 @@ JavaScript **высасывает** определения. Это значит,
116116

117117
bar(); // вылетает с ошибкой TypeError,
118118
// поскольку bar всё ещё 'undefined'
119-
someValue = 42; // присвоения не подвержены высасыванию
119+
someValue = 42; // присвоения не подвержены всплытию
120120
bar = function() {};
121121

122122
test();
123123

124124
Потерянная область видимости блока не только переместит операторы `var` вовне циклов и их тел, но и сделает результаты некоторых конструкций с `if` неинтуитивными.
125125

126-
В исходном коде оператор `if` изменял *глобальную переменную* `goo`, когда, как оказалось, он изменяет *локальную переменную* — в результате работы высасывания.
126+
В исходном коде оператор `if` изменял *глобальную переменную* `goo`, когда, как оказалось, он изменяет *локальную переменную* — в результате работы всплытия.
127127

128-
Если вы не знакомы с *высасываниями*, то можете посчитать, что нижеприведённый код должен породить
128+
Если вы не знакомы со *всплытием*, то можете посчитать, что нижеприведённый код должен породить
129129
`ReferenceError`.
130130

131131
// проверить, проинициализована ли SomeImportantThing
@@ -162,7 +162,7 @@ JavaScript **высасывает** определения. Это значит,
162162
163163
### Пространства имён
164164

165-
Нередкое последствие наличия только одного глобального пространства имён — проблемы с перекрытием имён переменных. В JavaScript эту проблему легко избежать, используя *анонимные обёртки*.
165+
Нередкое последствие наличия только одного глобального пространства имён — проблема с перекрытием имён переменных. В JavaScript эту проблему легко избежать, используя *анонимные обёртки*.
166166

167167
(function() {
168168
// самостоятельно созданное "пространство имён"

0 commit comments

Comments
 (0)