Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите разобраться с замыканиями! (https://javascript.ru/forum/misc/68857-pomogite-razobratsya-s-zamykaniyami.html)

Yaponcik 14.05.2017 11:01

Помогите разобраться с замыканиями!
 
Мозг ну никак не может воспринять для чего нужны замыкания...
вот например в чём плюс замыкания в примере ниже..

var getAnswer = (function(){
     var answer = 42;
     return function inner(){
     	return answer;
  };
}())
console.log(getAnswer());


или код без замыкания, который возвратит тот же результат...

var getAnswer = function(){ 
	var answer = 42;
    return answer;
 }
 console.log(getAnswer());


А если нет разницы, то зачем платить больше?...

Вобщем меня уже самого замкнуло... ))

рони 14.05.2017 15:22

Yaponcik,
если функция будет использована многократно, то в первом варианте переменная будет создана всего один раз и это будет одна и таже переменная, во втором будет создание переменной при каждом вызове. первый вариант удобно использовать как счётчик, переменная может хранить предыдущее состоние (return answer++)


Часовой пояс GMT +3, время: 02:50.