Дисциплины - Объектно-ориентированное программирование

ООП в JavaScript - Функции JavaScript - Функции высшего порядка

Это такие функции, которые оперируют функциями, применяя одну или более функций и возвращая новую функцию.

Поскольку при этом возвращается новая функция, то ее назвали функцией обратного вызова, или callback-функцией. Подход с использованием callback-функций часто используется в программах, написанных на JavaScript.

Например, рассмотрим функцию простого преобразования строкового массива с использованием метода map.

var names = [‘яблоко’, ‘груша’, ‘слива’];
var upper = names.map(function(name){
 return name.toUpperCase();
});
upper // [‘ЯБЛОКО’, ‘ГРУША’, ‘СЛИВА’],

Наличие в программах дублированного или похожего кода – верный признак необходимости использовать функции высшего порядка.

Рассмотрим еще один пример возможного использования функций высшего порядка:

var sum = function(x,y){return x+y};
var data = [1,1,3,4,8,8];
var deviations = data.reduce(sum)/data.length;

Такой подход называют абстракцией высшего порядка.

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
814301 БГУИР
814302 БГУИР
814303 БГУИР
894351 БГУИР
90421 БГУИР


Изображения Видео

1. Абстрактная фабрика https://www.youtube.com/watch?v=1mVONOCxfLg
2. Фабричный метод https://www.youtube.com/watch?v=5UqUDR6_2cY
3. Шаблон декоратор https://www.youtube.com/watch?v=Lwb9bm8yKD0
4. Dessign patterns on PHP https://github.com/domnikl/DesignPatternsPHP
5. Приёмы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
6. Приемы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
7. Ajax http://erud.by/ajax
8. Ajax http://erud.by/ajax
9. Ajax http://erud.by/ajax
10. Документация Laravel http://laravel.com
Задание к курсовой работе
Задание к курсовой работе
Вопросы к экзамену