|
|
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
Добрый день. Заметил тут на одной странице такую, не очень понятную конструкцию: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Это что получается? Вложенная функция TrClick внутри другой функции SetTrClick? Такое допустимо с точки зрения синтаксиса? Или это ошбка программиста сайта? С виду все, вроде бы, работает. Заранее спасибо за ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 12:49 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 12:53 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
Все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 12:54 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
Игорь1973, да, допустимо. Данный прием имеет множество применений: инкапсуляция логики, модульность, замыкания и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 12:57 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
Иногда даже до абсурда доходит и код может выглядеть примерно так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 13:40 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
Игорь1973, И правда - всё нормально. Например, вызов: SetTrClick(tbl).TrClick(); Другое дело, нафига это нужно? Даже и не придумать зачем. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 20:38 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
ShSergeНапример, вызов: SetTrClick(tbl).TrClick();ну вот причем здесь это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 20:41 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
Яростный МечShSergeНапример, вызов: SetTrClick(tbl).TrClick();ну вот причем здесь это? Первое - объект (может быть), а второе - свойство объекта (тоже может быть). ЯМ, а чё ты хотел спросить? Проверь на коде топикстартера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 20:47 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
TypeError: SetTrClick(tbl) is undefined http://jsfiddle.net/MrTnV/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 23:46 |
|
||
|
Вопрос про вложенные функции в JavaScript
|
|||
|---|---|---|---|
|
#18+
ПаганельTypeError: SetTrClick(tbl) is undefined http://jsfiddle.net/MrTnV/ а могло быть иначе? что бы получить экземпляр (ну то есть объект) надо его создавать (конструкцией new). А в данном случае вызывается функция, которая НИЧЕГО не возвращает, и у этого "ничего" вызывается метод... а вот самое интересное... кто сказал что TrClick будет паблик свойством (писал какраз код, увидел топик и начал все конструкции function истерически менять на var ... = function, а потом вдруг решил проверить). Так вот... function ... () - это определение приватной функции, которая не видна извне... http://jsfiddle.net/MrTnV/1/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 14:27 |
|
||
|
|

start [/forum/topic.php?fid=22&tid=1449037]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
187ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 490ms |

| 0 / 0 |
