Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2015, 15:13
Интересующийся
Отправить личное сообщение для GarikFF Посмотреть профиль Найти все сообщения от GarikFF
 
Регистрация: 23.11.2012
Сообщений: 13

Область видимости и сборщик мусора
Добрый день.
Собственно, почитал про сборщик мусора на MDN, но не совсем понял как он взаимодействует с областями видимости. Вопрос такой:
правильно ли я понимаю, что после выхода из фукнции все переменные ее области видимости уничтожаются сборщиком? и правильно ли я понимаю, что в таком случае оформлять код в виде фукнций гораздо экономичнее с точки зрения памяти, чем фигачить все в глобальном скопе?
Например, этот код будет хуже:
var a = 1,
     b = 2;
 
alert(a+b);

чем этот:
function myFunc()
{
    var a = 1,
          b = 2;
        
    return a + b;
}

alert(myFunc());

Последний раз редактировалось GarikFF, 24.10.2015 в 15:15.
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2015, 16:30
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от GarikFF
оформлять код в виде фукнций гораздо экономичнее с точки зрения памяти, чем фигачить все в глобальном скопе?
Например, этот код будет хуже:
Капитан очевидность?
Я на этом форуме видел как некто получил минус десять в репу за то, что писал в глобал
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2015, 17:06
Интересующийся
Отправить личное сообщение для GarikFF Посмотреть профиль Найти все сообщения от GarikFF
 
Регистрация: 23.11.2012
Сообщений: 13

Сообщение от EmperioAf Посмотреть сообщение
Капитан очевидность?
Я на этом форуме видел как некто получил минус десять в репу за то, что писал в глобал
ну, я как-то естественным путем дошел до независимых функций и объектов, хотя начал так делать не потому, что задумывался о памяти) просто сейчас я хочу лучше понять, как это работает.
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2015, 20:45
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

GarikFF,
Цитата:
и правильно ли я понимаю, что в таком случае оформлять код в виде фукнций гораздо экономичнее с точки зрения памяти, чем фигачить все в глобальном скопе?
Да.
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2015, 20:49
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Сообщение от EmperioAf Посмотреть сообщение
Капитан очевидность?
Капитан очевидность утверждает что-то, а не спрашивает.
//Ваш К.О.

Сообщение от EmperioAf Посмотреть сообщение
Я на этом форуме видел как некто получил минус десять в репу за то, что писал в глобал
Это, скорее всего, из-за того, что ты запостил тот код, как решение для какого-то новичка, чем помог распространению плохого стиля программирования.
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2015, 22:54
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от Safort
Это, скорее всего, из-за того, что ты запостил тот код, как решение для какого-то новичка, чем помог распространению плохого стиля программирования.
я ещё не получал минусов на этом форуме
мой код в каждой теме носит характер примера. Вы считаете, что в топиках на форуме лучше не выносить в глобал объявление переменных вида:
var elem = document.querySelector('.some-element');

?

P.s. у вас есть предвзятое отношение ко мне? Я вроде бы не отвечаю в темах, в которых требуется что-нить кроме работы с DOM-деревом.
Ответить с цитированием
  #7 (permalink)  
Старый 24.10.2015, 23:49
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

EmperioAf,
Цитата:
я ещё не получал минусов на этом форуме
Оу, прошу прощения, невнимательно прочитал.

Цитата:
P.s. у вас есть предвзятое отношение ко мне? Я вроде бы не отвечаю в темах, в которых требуется что-нить кроме работы с DOM-деревом.
Нет, я нормально к тебе отношусь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пож с JSON, передача id ссылки. wisma jQuery 22 10.02.2014 15:36
область видимости Ultimatum Общие вопросы Javascript 2 19.06.2011 10:47
Сборщик мусора Мараторий Общие вопросы Javascript 13 19.02.2010 12:46
можно ли включить функцию в глобальную область видимости из файла maxval Элементы интерфейса 13 04.10.2009 07:11
Сборщик мусора в JavaScript freebit Events/DOM/Window 14 04.12.2008 23:58