Я читаю через красноречивый Javascript и увидел эту функцию:Как эта функция работает без установки параметра?
function multiplier(factor) {
return function(number) {
return number * factor;
};
}
var twice = multiplier(2);
console.log(twice(5));
// → 10
Однако, я не в состоянии понять, как внутренняя функция присвоения переменной (5) для параметра номер? Красноречивый JS пытается объяснить это, но я не понимаю.
После выполнения этой строки 'var double = multiplier (2);', Twice - это функция. 'дважды = функция (число) { номер возврата * 2; }; ' И когда вы выполните эту строку 'console.log (дважды (5)),' Номер будет иметь значение 5 и он вернется 10 – Gilsha
@Gilsha - Положите это в ответ, и вы получите мой голос – myfunkyside
Так что если дважды становится внутренней функцией, что происходит с переменной фактора? Он хранится в памяти или что-то еще? Это может быть очевидно, но не для меня ... – evu