В "Выразительном JavaScript" пример замыкания. [...] Функция,
умножающая числа на любое заданное число:
function multiplier(factor) {
  return function(number) {
    return number * factor;
  };
}
var twice = multiplier(2);
console.log(twice(5));
// → 10
Поясните, пожалуйста, как она работает? Каким образом передать параметр "number" в эту внутреннюю функцию? Я вижу, вызовом "twice(5)" эта пятерка каким-то образом идет как нужный параметр. Но почему так? Ведь у функции multiplier лишь один параметр и это number.
Читаю книгу с начала, до этого все понятно было. Здесь ну никак не въеду.