Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2015, 20:53
Новичок на форуме
Отправить личное сообщение для Kroy Посмотреть профиль Найти все сообщения от Kroy
 
Регистрация: 21.05.2014
Сообщений: 4

Выразительный 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
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2015, 21:00
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

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"
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2015, 00:47
Новичок на форуме
Отправить личное сообщение для Kroy Посмотреть профиль Найти все сообщения от Kroy
 
Регистрация: 21.05.2014
Сообщений: 4

Спасибо

Вроде начинает доходить

А почему функцию вызывают с двумя парами скобок?
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2015, 01:18
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от Kroy
А почему функцию вызывают с двумя парами скобок?
Первые скобки создают функцию и возвращают её, вторые - вызывают эту функцию.


Тут немного о карринге
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дождь снег пузыри панели функции на javascript - новая библиотека JavaScriptFast kykyi Библиотеки/Тулкиты/Фреймворки 11 26.07.2010 02:57
Есть ли на JavaScript аналог PHP функции include?) FirstFrost Общие вопросы Javascript 3 13.07.2010 10:13
Реализация функции JavaScript, меняющей содержимое ячеек таблицы по событию onchange BOJIKOJIAK Events/DOM/Window 1 24.05.2010 05:50
функции в javascript Basonsan Javascript под браузер 4 20.01.2010 19:05
Функции в JavaScript? ruit Events/DOM/Window 1 03.12.2009 15:38