В процессе самообучение наткнулся на такую функцию
var x = 10;
function foo(a) {
var b = 20;
function bar(c) {
var d = 30;
return boop(x + a + b + c + d);
}
function boop(e) {
return e * -1;
}
return bar;
}
var moar = foo(5);
moar(15);
НЕ понимаю почему а=5 а с=15. То есть я понимаю что в "а" записывается 5 из переменной moar , но это же не вызов функции а просто присвоение этой функции переменной, почему записывается в "а" 5? то же самое, я понимаю что в "С" записывается 15 из вызова этой переменной. Но почему? по сути должно в "а" записаться 15..вообще не понятно..