![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
Изучая чужой код, наткнулся на такой фрагмент:
2 вопроса: 1) что делает return a.b() 2) что даёт конструкция a = ( function() { ... } ) заранее спасибо за разъяснения Это сообщение отредактировал(а) Innuendo108 - 11.5.2010, 19:00 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ну, по аналогии класс.метод() или объект.метод(), хотя тут конечно это за уши притянуто
в данном случае идёт рекурсия 2) - присваивание переменной а метода. объекту ведь можно дать новое свойство, почему бы не задать ему ещё и метод (функцию)? |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
Вообще говоря, похоже на т.н. замыкание. В смысле, и есть замыкание, только хз, что делает.
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 7 Всего: 401 |
Главное пропущено: a = ( function() { ... } )(). Вызывает выражение в скобках как функцию, и присваивает ее результат переменной а. Да, это замыкание. Именно такая конструкция чаще всего используется для изоляции перменных, чтобы не засорять глобальную область видимости. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
А что такое замыкание? не понял что-то в чём смысл
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 7 Всего: 401 |
Смысл - в привязке к функции всех переменных из того контекста, в котором она была вызвана. Вот, имхо, пара неплохих статей про это: http://dklab.ru/chicken/nablas/39.html и http://habrahabr.ru/blogs/webdev/38642/ (стоит также посмотреть обсуждение на форуме и комменты соотв-но).
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
спасибо
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |