Показать сообщение отдельно
  #5 (permalink)  
Старый 21.06.2014, 18:14
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

совсем на пальцах =)
<script>
function eguals (x) {
  return function(element) {return x === element;}
}

/* значение возвращает функция eguals а не анонимная функция "function(element)"
eguals возвращает анонимную функцию*/
alert  ("1. = " + eguals ( window ) ) ;



/* первая часть  "eguals (a)" вернет функцию 
переменная "x" останется в замыкании и будет доступна внутри функции eguals 
т.е. анонимной функции которая возвращается с помощью return 
вторая часть "(b)" это код вызывает анонимную функцию которую вернула первая  часть 
*/
var a = window;
var b = document;
var c = this;

alert  ("2. = " + ( eguals (a)(b) ));
alert  ("3. = " + ( eguals (a)(c) ));
alert  ("4. = " + ( eguals (a)(a) ));

</script>

Последний раз редактировалось MallSerg, 21.06.2014 в 20:05.
Ответить с цитированием