реализовал кеш с помощью мемоизации и innerHTML (
Nekromancer спасибо!)
var cache = {}; // тут будут храниться данные и будут доступны по ключу
// сама функция кеширования:
function save (param) {
var result = N.innerHTML;
cache[param] = result;
return cache[param]
}
На самом деле вся загвоздка была в работе с NodeList. Ну никак не получалось сохранить именно данные, а не "живое представление". Возможно, можно это решить с помощью клонирования (cloneNode). Но, думаю это гораздо более затратный процесс, в отличии от innerHTML. Хотя с точки зрения подхода, кеширование с NodeList выглядит более изящным