Выразительный javascript. Функции высшего порядка
Добрый день
Продираюсь сквозь эту книгу. Застрял на этой главе http://habrahabr.ru/post/241155/ Помогите понять пожалуйста, что делает эта функция function noisy(f) { return function(arg) { console.log("calling with", arg); var val = f(arg); console.log("called with", arg, "- got", val); return val; }; } noisy(Boolean)(0); // → calling with 0 // → called with 0 - got false |
Kroy, пост не читал, но по коду видно, что функция создаёт функцию-"конвертер" значения.
noisy(Boolean) - возвращает функцию, которая конвертирует аргумент в Boolean: var converter = noisy(Boolean); console.log(converter(0), converter(1)); // false, true В noisy можно передать любую функцию (в данном случае передана функция Boolean). var converter = noisy(function(v) { return 'Hello, ' + v; }); console.log(converter('Kroy'), converter('World')); // "Hello, Kroy", "Hello, World" |
Спасибо
Вроде начинает доходить А почему функцию вызывают с двумя парами скобок? |
Цитата:
Тут немного о карринге |
Часовой пояс GMT +3, время: 21:52. |