![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Привет!
Что означает нечто подобное (function( param1, param2) { // какой-то код } ) ? Когда (в какой момент) отработает функция? |
|||
|
||||
| Arantir |
|
||||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 5 Всего: 55 |
Именно этот? Ну, ничего особенного. Эта функция не отработает никогда. Ее даже вызвать невозможно. Не думаю, что применение такой конструкции вообще целесообразно =)
Вы ни с чем не перепутали? С immediate function, например?
Прием используется, например, для создания локальной области видимости.
Иногда еще пишут так:
Это сообщение отредактировал(а) Arantir - 5.6.2013, 22:51 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||||
|
|||||||
| V0fka |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 5.11.2006 Где: Украина Репутация: нет Всего: нет |
Arantir, в связи с убогостью знаний по javascript, думал, что именно этот, но оказалось не так. То о чем вы написали - это ответ на то, что я хотел спросить Это сообщение отредактировал(а) V0fka - 6.6.2013, 15:13 |
|||
|
||||
| Amphiluke |
|
||||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
Да, вы правы разницы никакой нет. Оператор группировки (т.е. окружающие круглые скобки) — в данном случае ничто иное, как способ указания интерпретатору, что это является не декларацией функции, а функцией-выражением. Для этого необходимо поставить эту функцию в позицию, где ожидается именно выражение, например, на место операнда оператора группировки. Скобки в действительности — лишь частный случай, а на самом деле сгодится и какой-нибудь другой оператор, лишь бы функция стояла в позиции выражения. Например, это тоже будет работать (хотя и выглядит несколько более запутывающе):
Этот ответ добавлен с нового Винграда - http://vingrad.com |
||||
|
|||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
ну разница все-таки есть, в случае в обычным объявлением к функции можно обратиться по имени.
если результат выражения возвращающего функцию присвоить переменной, то разница все равно будет -------------------- Обижено школьников: 8 |
|||
|
||||
| Arantir |
|
||||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 5 Всего: 55 |
А в каких случаях? Мне что-то не удалось заметить:
Ну а в случаях Amphiluke дело уже не в функции, а в выражении. Там результат будет таким же, как если бы напрямую подставить вместо функции ее результат. Это сообщение отредактировал(а) Arantir - 9.6.2013, 05:40 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||||
|
|||||||
| bems |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
и
-------------------- Обижено школьников: 8 |
||||||
|
|||||||
| Amphiluke |
|
||||||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 39 Всего: 112 |
Там изначально речь была вовсе не о различиях функций-деклараций и функций выражений (они отличны — это само сабой разумеется). Речь была о различиях двух форм записи IIFE (немедленно вызываемой функции выражения), а именно, между
и
А эти две записи по существу эквивалентны. Этот ответ добавлен с нового Винграда - http://vingrad.com |
||||||
|
|||||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
изначально какраз о декларации и выражения. но в сообщении на которое я отвечал уже о двух выражениях, это я стормозил, да
-------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |