замыкание. как передается параметр?
в книге eloquent javascript есть такой пример:
function multiplier(factor) {
return function(number) {
return number * factor;
};
};
var twice = multiplier(2);
console.log(twice(5));
не могу понять, как значение 5 становится параметром function(number). почему в multiplier(2) значение передается как factor, а в twice(5) в number? |
function multiplier(factor) {
return function(number) {
return number * factor;
};
};
var twice = multiplier(2);
console.log(twice.toString());
/*
function (number) {
return number * factor; //factor = 2
}
*/
console.log(twice(5));
//вызываем функцию number = 5;
1 раз возвращается функция factor с значением 2 сохраняется в замыкании 2 вызывается полученная ранее
function (number) {
return number * factor; //factor = 2
}
|
| Часовой пояс GMT +3, время: 21:05. |