замыкание. как передается параметр?
в книге 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, время: 14:38. |