Seokky
10/11/2017 - 12:44 PM

Cache Function

Функция кэширует полученные элементы, чтобы при повторных запросах к этим элементам они не обрабатывались, а просто возвращались.

function getElements(name) {
  // если кэш пуст (не создан), он создается как объект
  if (!getElements.cache) getElements.cache = {};
  // при возвращении запрашиваемого элемента нужный элемент берется из объекта cache,
  // если ранее он был в него сохранен. если нужного элемента в объекте cache нет,
  // тогда он сохраняется в объекте cache и затем возвращается из функции.
  return getElements.cache[name] = getElements.cache[name] || document.getElementsByTagName(name);
}

/* Таким образом, функция хранит все используемые элементы в объекте cache для того,
чтобы при повторном обращении к элементам не влиять негативным образом на производительность,
заставляя javascript каждый раз искать элемент на странице.

Каждый элемент ищется в DOM только один раз. При повторных обращениях к нему через функцию
getElements() он просто возвращается из объекта cache */