aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/errors/переменные_скрывают_аргумент
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/javascript/reference/errors/переменные_скрывают_аргумент')
-rw-r--r--files/ru/web/javascript/reference/errors/переменные_скрывают_аргумент/index.html60
1 files changed, 60 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/errors/переменные_скрывают_аргумент/index.html b/files/ru/web/javascript/reference/errors/переменные_скрывают_аргумент/index.html
new file mode 100644
index 0000000000..85ad505cbd
--- /dev/null
+++ b/files/ru/web/javascript/reference/errors/переменные_скрывают_аргумент/index.html
@@ -0,0 +1,60 @@
+---
+title: 'TypeError: переменная "x" переопределяет аргумент'
+slug: Web/JavaScript/Reference/Errors/Переменные_скрывают_аргумент
+tags:
+ - Errors
+ - JavaScript
+ - Strict Mode
+ - TypeError
+translation_of: Web/JavaScript/Reference/Errors/Var_hides_argument
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Сообщение">Сообщение</h2>
+
+<pre class="syntaxbox">TypeError: переменная "x" повторно объявляет аргумент (Firefox)
+</pre>
+
+<h2 id="Тип_ошибки">Тип ошибки</h2>
+
+<p>{{jsxref("TypeError")}} предупреждение только в строгом режиме.</p>
+
+<h2 id="Что_пошло_не_так">Что пошло не так?</h2>
+
+<p> </p>
+
+<p>То же имя переменной происходит в качестве параметра функции, и затем повторно объявляется с помощью назначения var в теле функции. Это может быть конфликт имен, поэтому JavaScript предупреждает об этом.</p>
+
+<p>Эта ошибка возникает как предупреждение только в коде строгого режима. В нестрогом коде повторное объявление игнорируется.</p>
+
+<p> </p>
+
+<h2 id="Примеры">Примеры</h2>
+
+<h3 id="Неправильные_примеры">Неправильные примеры</h3>
+
+<p>В этом случае переменная "arg" объявляет аргумент повторно.</p>
+
+<pre class="brush: js example-bad">'use strict';
+
+function f(arg) {
+ var arg = 'foo';
+}
+</pre>
+
+<h3 id="Правильные_примеры">Правильные примеры</h3>
+
+<p>Чтобы исправить это предупреждение, оператор var можно просто опустить, так как переменная уже существует. В других случаях можно переименовать параметр функции или имя переменной. </p>
+
+<pre class="brush: js example-good">'use strict';
+
+function f(arg) {
+ arg = 'foo';
+}
+</pre>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">Strict mode</a></li>
+</ul>