Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Удаление setTimeout (https://javascript.ru/forum/misc/36549-udalenie-settimeout.html)

Ervin 19.03.2013 15:43

Удаление setTimeout
 
Вопрос - Произойдет ли утечка памяти в следующих ситуациях:

1)
var resData = {
        action: "b"
     },
     timeout = {};

timeout = setTimeout(function() {
   timeout = null;

   sendToOthers(null, resData);
}, 2000);

resData = null;


При переназначение timeout, удаляется ли сама функция назначенная к этой переменной, после выполнения ?


2)
var timeout = {},
     resData = {
        action: "a"
     };

timeout = (function(data) {
   setTimeout(function() {
      timeout = null;
   
      sendToOthers(null, data);
   }, 1500);
})(resData);


При переназначение timeout что происходит с [[SCOPE]] созданного для анонимной функции назначенной этой переменной ?

danik.js 19.03.2013 17:30

Цитата:

Сообщение от Ervin
При переназначение timeout, удаляется ли сама функция назначенная к этой переменной, после выполнения ?

Функция не "назначена к этой переменной". В переменной содержится простое число-идентификатор. Не спец в этом, но думаю функция удалится сборщиком мусора если не будет на нее ссылок.


Часовой пояс GMT +3, время: 16:04.