Сообщение от vsenetak
|
Объясните, пожалуйста, как работает функция с замыканием.
В книге "Выразительный JS" есть такая функция:
function multiplier(factor) {
return function(number) {
return number * factor;
};
}
var twice = multiplier(2);
console.log(twice(5));
// → 10
Ни как не могу понять, что передается в параметр number, и куда должно пойти значение 5 из последней строчки?
|
после присваивания
var twice = multiplier(2);
получается, что:
twice = function(number) {
return number * 2;
}
очевидно, что
twice(5) = function(number) {
return number * 2;
}(5)
и получается, что twice(5)=10