aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/memory_management/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/javascript/memory_management/index.html')
-rw-r--r--files/ru/web/javascript/memory_management/index.html12
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" получает ссылку на себя