diff options
Diffstat (limited to 'files/ru/web/javascript/memory_management/index.html')
-rw-r--r-- | files/ru/web/javascript/memory_management/index.html | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/files/ru/web/javascript/memory_management/index.html b/files/ru/web/javascript/memory_management/index.html index 4fa942b997..4399b25d64 100644 --- a/files/ru/web/javascript/memory_management/index.html +++ b/files/ru/web/javascript/memory_management/index.html @@ -28,7 +28,7 @@ translation_of: Web/JavaScript/Memory_Management <p>Чтобы не утруждать программиста заботой о низкоуровневых операциях выделения памяти, интерпретатор JavaScript динамически выделяет необходимую память при объявлении переменных:</p> <div style="overflow: hidden;"> -<pre class="brush: js notranslate">var n = 123; // выделяет память для типа number +<pre class="brush: js">var n = 123; // выделяет память для типа number var s = "azerty"; // выделяет память для типа string var o = { @@ -53,13 +53,13 @@ someElement.addEventListener('click', function(){ <p>Вызовы некоторых функций также ведут к выделению памяти под объект:</p> -<pre class="brush: js notranslate">var d = new Date(); +<pre class="brush: js">var d = new Date(); var e = document.createElement('div'); // выделяет память под DOM-элемент </pre> <p>Некоторые методы выделяют память для новых значений или объектов:</p> -<pre class="brush: js notranslate">var s = "azerty"; +<pre class="brush: js">var s = "azerty"; var s2 = s.substr(0, 3); // s2 это новый объект типа string // Т.к. строки - это постоянные значения, интерпретатор может решить, что память выделять не нужно, но нужно лишь сохранить диапазон [0, 3]. @@ -94,7 +94,7 @@ var a3 = a.concat(a2); // новый массив с 4 элементами в <h4 id="Пример">Пример</h4> -<pre class="brush: js notranslate">var o = { +<pre class="brush: js">var o = { a: { b:2 } @@ -121,7 +121,7 @@ oa = null; // оригинальное значение поля объекта <p>Основное ограничение данного наивного алгоритма заключается в том, что если два объекта ссылаются друг на друга (создавая таким образом циклическую ссылку), они не могут быть уничтожены сборщиком мусора, даже если "более не нужны".</p> -<pre class="brush: js notranslate">function f(){ +<pre class="brush: js">function f(){ var o = {}; var o2 = {}; o.a = o2; // o ссылается на o2 @@ -139,7 +139,7 @@ f(); <p>Браузеры Internet Explorer версий 6, 7 имеют сборщик мусора для DOM-объектов, работающий по принципу подсчёта ссылок. Поэтому данные браузеры можно легко принудить к порождению систематических утечек памяти (memory leaks) следующим образом:</p> -<pre class="brush: js notranslate">var div; +<pre class="brush: js">var div; window.onload = function(){ div = document.getElementById("myDivElement"); div.circularReference = div; // DOM-элемент "myDivElement" получает ссылку на себя |