Что такое *!* и getFunc()()
Что за конструкции такие и как работает функция ниже? Спасибо.
var a = 1; function getFunc() { var a = 2; *!* var func = function() { alert(a); }; */!* return func; } getFunc()(); // *!*2*/!* |
Внутри функции getFunc создается анонимная функция (func), которая замыкается на локальную переменную (a = 2). В результате вызова getFunc() нам вернется внутренняя анонимная функция, а если написать getFunc()() то и она здесь же выполнится и вернет значение переменной a (2).
|
DreamTheater,
Спасибо. А что такое *!* тогда? Похоже на что-то некультурное. Но во всю используется в примерах тут http://learn.javascript.ru/closures#...еменным |
Цитата:
|
Цитата:
|
bes,
Да, спасибо. интеренет действительно медленный, но это скорее всего из-за того, что я запретил выполнение дс в одном из заданий, которое зацикливало алерт. |
Часовой пояс GMT +3, время: 23:55. |