![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
subj. как быть, если необходимо присваивать переменным результаты выполнения этой функции? что-то плохо соображаю.. ) заранее спасибо! Это сообщение отредактировал(а) Alx - 30.3.2007, 09:49 |
|||
|
||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: нет Всего: 52 |
Все закономерно - функция ведь ничего не возвращает.
А какой результат может быть у этой функции? Она лишь отправляет запрос, а когда будет получен ответ, и вообще будет ли он получен, эта функция не знает... |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 3 Всего: 317 |
Тут логика немного другая. JsHttpRequest отправляет асинхронные запросы, т.е. getHTML() возвращаеться сразу, не блокируя текущий тред. И это правильно, подвешивать всё ожидая ответа глупо. Вместо return (req.responseJS.q||'undefined'); вызывай какую-нибудь свою функцию, что получить и отрабоает инфу (обновит графики и т.п.).
Блокирующее IO - зло. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
||||||||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
ну это-то понятно, а вот
с этого месте, пожалуйста, поподробнее:
примерно так я пробывал, но это не срабатывает, я могу отправить только ссылку на объект, но не ссылку на свойство объекта, поэтому свойство приходится для всех использовать одно и то же, что очень неудобно:
или я ошибаюсь? что это?) скажи вкратце, буду бояться Это сообщение отредактировал(а) Alx - 1.4.2007, 14:29 |
||||||||
|
|||||||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 3 Всего: 317 |
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
какой-то код мне вообще не понятный.. чувствую себя ламером.. возвращает ошибку "исключение брошено и не поймано".. что это вообще значит?
функцию bind() вообще не понял.. можешь объяснить? прямо построчно.. пасиб... Это сообщение отредактировал(а) Alx - 1.4.2007, 17:38 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 3 Всего: 317 |
Ага, это я когда на коленке пишу, не проверяя, бывает
bind просто создаёт closure, который вызывает конкретный метод объекта. Если он не сушествует, то кидаем исключение. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
||||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
вот эти выражения мне вообще неизвестны... пипец.. ну лана, посмарю в доках, объясни плиз хотябы тогда: 1)зачем внутри функции ещё одна функция, если кроме неё ничего нет? 2)какую роль играет return? 3)и ещё мне непонятно, какие же параметры приходят функции bind(), если тут
1 параметр - ссылка на объект, второй - строка, а тут
снова первый параметр строка... 4) как это блин все работает? 5) что конкретно, какой тип данных содержится в переменной handler?.. оооох... мне стыдно... так хочется все это понять.. сейчас только понимаю, насколько реально я отстал от жизни.. |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 3 Всего: 317 |
Это closure, вбей это слово в поиск в основном разделе. В кратце, JS поддерживает функции высшего порядка, т.е. функция это объект и как любой другой объект её можно вернуть или записать в переменную. Именно объект а не строка с именем, как это было в PHP. При определении функции мы "запоминаем" все переменные, что были видны на момент определения, в нашем случае нам интересны аргументы внешней функции. Функция bind возвращает closure (функцию), что продолжает видеть оригинальные значения obj и method, и соответственно может при её вызове. Он возвращает функцию, как и любое другое значение. Что бы было ясно:
3) - на это ты уже сам можешь ответить, читай предыдущий абзац 5) - функция Я и Zeroglif много размышляли на эту тему. Вбей в поиск closure, instanceof, prototype this. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
вот этого-то я и не понимаю! зачем такой дикий изврат из 3-х функций, если можно просто вызвать одну??? |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 3 Всего: 317 |
Потому что это не фича вызывать методы объектов, это вообще замыкание любого кода. Замкнутый код можно затем вызвать, он будет "видеть" окружение (переменные) существовавшее на момент создания замыкания. Естественно от одного замкнутого участка кода можно получить сколь угодно конкретных замыканий (пары {окружение, код}). Когда-нибудь ты врубишся в фишку, затем поудивляешся как ты мог программить без них -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |