Первое понял, спасибо), последнее не пойму:
После функции abcv в функции get "a" становится равна 1? Если да - то после повторного вызова функции в начале ее указана что a = 0, то-есть она обнуляться должна, почему этого не происходит?
function get() {
var a = 0;
return function abcv() { //Возвращаем 1
a++;
console.log(a);
}
// a = 1 (по идеи)
}
// Теперь a в get() равна 1 (По идеи)
/* ГЛАВНОЕ: Получается когда мы делаем присвоение get() к b мы присваиваем функцию где a = 1, но в начале get() у нас все ровно a присваевается(=) к 0, вот и не пойму. Если при выполнении функции a сразу становится 0. Как оно тогда работает?
*/
var b = get();
b();
b();