Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: return, без него, но с переменной и без всего!
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Оставьте как сейчас в примере кода, т.к. возможно понадобится несколько одновременных соединений.
А без имеющегося реализованного в примере замыкания все последующие указатели будут ссылками на один и тот же объект, что не приемлемо.
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
p1us
В Вашем случае, судя по всему, xmlhttp сначала формируется, потому сразу возвратить его нельзя. При этом сам возврат (return) должен быть в любом случае - иначе функция ничего не вернет и вызвавшее ее выражение будет некорректным.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
p1us
Отправлено: 19 Апреля, 2012 - 10:33:26
Гость
Покинул форум
Сообщений всего: 120
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
DeepVarvar пишет:
Оставьте как сейчас в примере кода, т.к. возможно понадобится несколько одновременных соединений.
А без имеющегося реализованного в примере замыкания все последующие указатели будут ссылками на один и тот же объект, что не приемлемо.
правильно ли я понял, что если будет сразу несколько обращений, то при записи через переменную, мы получим 1 результат, а если же поставим return, то результатов будет столько же сколько соединений?
DeepVarvar
Отправлено: 19 Апреля, 2012 - 10:33:48
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
EuGen пишет:
сразу возвратить его нельзя
Можно, но не будет замыкания, т.к. xmlhttp приватная переменная. (Добавление)
p1us пишет:
правильно ли я понял, что если будет сразу несколько обращений, то при записи через переменную, мы получим 1 результат
Покинул форум
Сообщений всего: 120
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
DeepVarvar пишет:
Оставьте как сейчас в примере кода, т.к. возможно понадобится несколько одновременных соединений.
А без имеющегося реализованного в примере замыкания все последующие указатели будут ссылками на один и тот же объект, что не приемлемо.
вы не могли бы пояснить про несколько соединений одновременно?
DeepVarvar
Отправлено: 19 Апреля, 2012 - 10:43:39
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
А что тут сложного?
У вас же может быть несколько блоков параллельно обновляющихся на странице.
Это и есть несколько соединений.
Несколько независимых xmlhttp-объектов, а не куча ссылок на один объект.
Покинул форум
Сообщений всего: 120
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
DeepVarvar пишет:
А что тут сложного?
У вас же может быть несколько блоков параллельно обновляющихся на странице.
Это и есть несколько соединений.
Несколько независимых xmlhttp-объектов, а не куча ссылок на один объект.
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Как-то много обсуждений, но не в ту степь.
В данном случае представлена функция возвращающая объект для HTTP(S) соединения (или майкрософтовский аналог в старых версиях) для создания AJAX соединений.
Пытаемся создать одну из версий ИЕшного объекта xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
если облом - создаем более старую (если не ошибся) xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
не прокатило, присваиваем false и используем стандартный объект http://www[dot]w3[dot]org/TR/XMLHttpRequest/
и возвращаем его (один объект - одно соединение)
Просто это написано когда-то давно, и тупо копипастиццо чтобы не писать каждый раз.
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
DeepVarvar, 20 )
Тут дело не в замыкании, просто кроссбраузерный вариант создания этого объекта (Добавление)
Тьфу блин, затупил. i=20 а результат 400
(Добавление)
В любом случае каждое выполнение этой функции будет возвращать новый объект. При этом без разницы, return в каждой строчке, или есть переменная
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.