diff options
Diffstat (limited to 'files/ru/web/javascript/reference/strict_mode/index.html')
-rw-r--r-- | files/ru/web/javascript/reference/strict_mode/index.html | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/files/ru/web/javascript/reference/strict_mode/index.html b/files/ru/web/javascript/reference/strict_mode/index.html index fbf4446b55..fba2587610 100644 --- a/files/ru/web/javascript/reference/strict_mode/index.html +++ b/files/ru/web/javascript/reference/strict_mode/index.html @@ -271,7 +271,7 @@ function privilegedInvoker() { privilegedInvoker(); </pre> -<p>В-третьих, в функциях строгого режима свойство <code>arguments</code> больше не предоставляет доступ к переменным, созданным внутри функции. В некоторых предыдущих реализациях ECMAScript <code>arguments.caller</code> представлял собой объект, свойства которого являлись ссылками на переменные, созданные внутри функции при её вызове. Это представляет собой <a class="external" href="http://stuff.mit.edu/iap/2008/facebook/">угрозу безопасности</a>, так как нарушает возможность скрывать приватные данные внутри функций (замыканий). Также это делает невозможными большинство оптимизаций. Исходя из этих причин, ни один из современных браузеров не реализует этого поведения. Но все же, ввиду своей исторической функциональности, <code>arguments.caller</code> для функций в строгом режиме всё ещё является неудаляемым свойством, которое вызывает исключение при попытке его чтения или записи:</p> +<p>В-третьих, в функциях строгого режима свойство <code>arguments</code> больше не предоставляет доступ к переменным, созданным внутри функции. В некоторых предыдущих реализациях ECMAScript <code>arguments.caller</code> представлял собой объект, свойства которого являлись ссылками на переменные, созданные внутри функции при её вызове. Это представляет собой <a class="external" href="http://stuff.mit.edu/iap/2008/facebook/">угрозу безопасности</a>, так как нарушает возможность скрывать приватные данные внутри функций (замыканий). Также это делает невозможными большинство оптимизаций. Исходя из этих причин, ни один из современных браузеров не реализует этого поведения. Но всё же, ввиду своей исторической функциональности, <code>arguments.caller</code> для функций в строгом режиме всё ещё является неудаляемым свойством, которое вызывает исключение при попытке его чтения или записи:</p> <pre class="brush: js">"use strict"; function fun(a, b) { @@ -322,7 +322,7 @@ function baz() { // верно } </pre> -<p>Данный запрет не является особенностью строгого режима, потому что такое объявление функций является одним из расширений основного ES5. Но это рекомендация комитета ECMAScript, и браузеры реализуют ее.</p> +<p>Данный запрет не является особенностью строгого режима, потому что такое объявление функций является одним из расширений основного ES5. Но это рекомендация комитета ECMAScript, и браузеры реализуют её.</p> <h2 id="Строгий_режим_в_браузерах">Строгий режим в браузерах</h2> |