Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   глобальный объект (https://javascript.ru/forum/misc/16789-globalnyjj-obekt.html)

gagne 22.04.2011 11:57

глобальный объект
 
Добрый день! Хочу создать два массива объектов:previous,next. Из пхп будут приходить данные с некоторым таймаутом, данные имеют айдишники, которые я и хочу запоминать в этих массивах. Задача вроде бы простая. Записываем ответ в next, сравниваем с previous и в зависимости от последнего действия делаем previous=next. Проблема вот в чем. При загрузке страницы(в первый раз) массив previous пустой. Наверно лучше изложу вкратце в виде кода.
List={previous:{}, next:{}};
Res={
/*здесь определяются функции обращений к пхп,XMLHttpRequest() etc.*/,
answer: function(){
var key=0;List.next={};
for(/*здесь счетчик по i*/){
List.next[key]={attr1: ans[i],attr2:ans[i+1]};
key++;
}
var key1=0,key2=0;List.previous={};
for(key1 in List.previous){
				union[key2]=List.previous[key1];//в первый раз undefined!
				key2++;
}
var key3=0,key4=0;
			
			for (key3 in List.next){        
				found=0;
				for (key4 in union){
					if (List.next[key3].attr1==union[key4].attr1){        
						union[key4]=List.next[key3];
						found=1;
						break;
					}
				}
				if(found==0){
					union[key2]=List.next[key4];
					key2++;
				}
			}
var keyU=0,jj=0;List.previous={};
for (keyU in union){
					if (/*некот. условие*/){
					List.previous[jj]=union[keyU]; }else{}
}

На главной странице в методе onload вызывается метод объекта Res. Ну т.е., запрос к серверу, затем ответ обрабатывается функцией answer. Как правильно инициализировать объект previous?

melky 22.04.2011 22:45

вопрос вот в чем : запрос синхронный или асинхронный ?

( следать синхронным надо,если что )


Часовой пояс GMT +3, время: 14:11.