Что такое *!* и 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, время: 06:36. |