Показать сообщение отдельно
  #1 (permalink)  
Старый 24.03.2014, 21:03
Новичок на форуме
Отправить личное сообщение для Temik2704 Посмотреть профиль Найти все сообщения от Temik2704
 
Регистрация: 24.03.2014
Сообщений: 2

Вопрос по замыканиям
Добрый день!
Уже несколько дней пытаюсь понять замыкания в js,но пока не особо выходит.
Подскажите пожалуйста:
1.
Есть такой код

http://jsfiddle.net/vnkuZ/

Мне интересно почему если в коде javascript вместо
return function() {
  document.body.style.fontSize = size + 'px';
};

прописать

return document.body.style.fontSize = size + 'px';


то скрипт становится нерабочим?
Зачем возвращать функцию function() внутри функции makeSizer(size),когда можно сразу вернуть значение
document.body.style.fontSize = size + 'px'
?Почему это не работает?
Что дает возврат функции?

2.
http://jsfiddle.net/E5Aj6/

Здесь - то же самое,не понимаю зачем нужно вызывать функцию?
Знаю то что без замыканий при таком скрипт,любой элемент будет отображать последнее значение массива.
Но все равно не очень понимаю - что делает эта функция?
Что нам это дает?Если не трудно,распишите поподробнее.

function(x) {
   return function() {
      ...
   }
}(n);



Объясните пожалуйста также,в функции
function(x) {
}(n)
что есть такое x и что есть n?Откуда берутся?Особенно x?

P.S.
Статьи за замыканиям читал много где,и на learn.javascript.ru и на хабре,и mozilla javascript reference - все равно не до конца понимаю.

Последний раз редактировалось Temik2704, 24.03.2014 в 22:04.
Ответить с цитированием