From 980fe00a74a9ad013b945755415ace2e5429c3c2 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Wed, 27 Oct 2021 02:31:24 +0300 Subject: [RU] Remove notranslate (#2874) --- files/ru/web/javascript/memory_management/index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'files/ru/web/javascript/memory_management') 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

Чтобы не утруждать программиста заботой о низкоуровневых операциях выделения памяти, интерпретатор JavaScript динамически выделяет необходимую память при объявлении переменных:

-
var n = 123; // выделяет память для типа number
+
var n = 123; // выделяет память для типа number
 var s = "azerty"; // выделяет память для типа string
 
 var o = {
@@ -53,13 +53,13 @@ someElement.addEventListener('click', function(){
 
 

Вызовы некоторых функций также ведут к выделению памяти под объект:

-
var d = new Date();
+
var d = new Date();
 var e = document.createElement('div'); // выделяет память под DOM-элемент
 

Некоторые методы выделяют память для новых значений или объектов:

-
var s = "azerty";
+
var s = "azerty";
 var s2 = s.substr(0, 3); // s2 это новый объект типа string
 // Т.к. строки - это постоянные значения, интерпретатор может решить, что память выделять не нужно, но нужно лишь сохранить диапазон [0, 3].
 
@@ -94,7 +94,7 @@ var a3 = a.concat(a2); // новый массив с 4 элементами в 
 
 

Пример

-
var o = {
+
var o = {
   a: {
     b:2
   }
@@ -121,7 +121,7 @@ oa = null; // оригинальное значение поля объекта
 
 

Основное ограничение данного наивного алгоритма заключается в том, что если два объекта ссылаются друг на друга (создавая таким образом циклическую ссылку), они не могут быть уничтожены сборщиком мусора, даже если "более не нужны".

-
function f(){
+
function f(){
   var o = {};
   var o2 = {};
   o.a = o2; // o ссылается на o2
@@ -139,7 +139,7 @@ f();
 
 

Браузеры Internet Explorer версий 6, 7 имеют сборщик мусора для DOM-объектов, работающий по принципу подсчёта ссылок. Поэтому данные браузеры можно легко принудить к порождению систематических утечек памяти (memory leaks) следующим образом:

-
var div;
+
var div;
 window.onload = function(){
   div = document.getElementById("myDivElement");
   div.circularReference = div; // DOM-элемент "myDivElement" получает ссылку на себя
-- 
cgit v1.2.3-54-g00ecf