Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2010, 15:55
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Кэш глобальных переменных
На главной странице javascript.ru нашел
Слайды с докладов RichClient
У одного докладчика подраздел под названием
Кэшируем глобальные переменные

Код следующий

(function(window)
{
var document = window.document,
documentElement = document.documentElement
;
})(window);


А зачем это нужно?
Не первый раз встречаю в различный framework-ах эту запись.

Последний раз редактировалось mycoding, 29.05.2010 в 16:04.
Ответить с цитированием
  #2 (permalink)  
Старый 29.05.2010, 16:05
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Так делают, чтобы не засорять глобальное пространство имен.
Внутри этой функции создастся свое пространстро имен: переменные объявленные внутри как var станут свойствами объекта вызова этой функции.
Если поназначать там какие то обработчики, то будет - замыкание.
Ответить с цитированием
  #3 (permalink)  
Старый 29.05.2010, 17:32
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Ещё это сильно помогает при минимизации скриптов. Такие переменные сокращаются, благодаря чему файл становится намного легче. Так же для улучшения сжимаемости сохраняют и имена методов документа или window (локальные сожмутся сами), например:
var getEleById = 'getElementById';
ele1[getEleById]('id1');
ele2[getEleById]('id1');

Таким образом после минимизации будет что-то вроде:
var d = 'getElementById';
c1[d]('id');
c2[d]('id');

Ну и так далее.
Ответить с цитированием
  #4 (permalink)  
Старый 30.05.2010, 09:09
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

А еще доступ к объекту произойдет по ссылке из первого же scope.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват глобальных переменных inv Общие вопросы Javascript 3 22.03.2010 22:23
Запись несколько переменных в файл SunYang Общие вопросы Javascript 0 31.01.2010 13:19
Кэш браузера MaxPayne Общие вопросы Javascript 3 13.07.2009 19:27
Большой JS файл. Кэш IE6. deadpsh Общие вопросы Javascript 1 26.11.2008 23:38
Передача переменных между файлами Dekker8 Events/DOM/Window 1 22.09.2008 01:53