У меня есть объект JS, который я использую для хранения информации DOM для удобного использования в сложном графическом интерфейсе.
Это начинается так:
var dom = {
m:{
old:{},
page:{x:0,y:0},
view:{x:0,y:0},
update:function(){
this.old = this;
this.page.x = $(window).width();
this.page.y = $(window).height();
this.view.x = $(document).width();
this.view.y = window.innerHeight || $(window).height();
}
Я вызываю функцию изменения размера окна:
$(window).resize(function(){dom.m.update()});
Проблема с dom.m.old. Я бы подумал, что, вызвав его в методе dom.m.update () до , присваиваются новые значения для других свойств, в любой момент времени dom.m.old будет содержать снимок объект dom.m с момента последнего обновления - но вместо этого он всегда идентичен dom.m. Я только что получил бессмысленный метод рекурсии.
Почему это не работает? Как я могу получить статический снимок объекта, который не будет обновляться без специального уведомления?
Комментарии, объясняющие, как я вообще не хочу делать что-либо подобное, в первую очередь, очень приветствуются:)