Это интересная вещь, которая также может проиллюстрировать силу объектов JavaScript. Что мы должны сделать, так это вывести Hello, World, как упомянуто в предыдущей статье, и ввод Print («Привет») («Мир»), и это так называемая функция высшего порядка.
Расширенные функции
Advanced Order выглядит как эзотерический термин для передовых методов программирования, и я так думал, когда впервые увидел его.
Функции более высокого порядка JavaScript
Тем не менее, функции высшего порядка-это просто функции, которые принимают функции в качестве аргументов или возвращаемых значений. Привет, и мир выше, как простой пример.
Кода -копия выглядит следующим образом:
var moqi = function (p1) {
this.add = function (p2) {
вернуть P1 + '' + P2;
};
вернуть добавить;
};
Мы можем использовать эту функцию так
Кода -копия выглядит следующим образом:
console.log (moqi ('hello') ('world'));
Возможно, этот процесс немного запутан, давайте посмотрим, более ли он подробно.
Кода -копия выглядит следующим образом:
> typeof moqi ('hello')
<- "Функция"
> Moqi ('Привет')
<- function (p2) {
вернуть P1 + '' + P2;
}
То есть на самом деле, Moqi («Привет») - это функция, moqi («Привет»)
Кода -копия выглядит следующим образом:
> var m = moqi ('hello')
> m ('мир')
> "Привет, мир"
Судя по вышеуказанной ситуации, функции высшего порядка могут сделать код более кратким и эффективным. Естественно, мы также можем создать функцию для облегчения:
Кода -копия выглядит следующим образом:
> Moqi ('hello') ('world') ('phodal')
> "Привет, мировой фодал"
Итак, есть такая функция
Кода -копия выглядит следующим образом:
var moqi = function (p1) {
возврат функции (P2) {
возврат функции (p3) {
вернуть p1 + ',' + p2 + '' + p3;
}
};
};
Восстановить функции высшего порядка
Сигналы, которые необходимы для введения абстракции функций высшего порядка, являются дублированными или похожими кодами. Затем мы восстанавливаем предыдущую функцию шаг за шагом:
Кода -копия выглядит следующим образом:
var moqi = function (p1) {
this.add = function (p2) {
возврат функции (p3) {
вернуть p1 + ',' + p2 + '' + p3;
}
};
вернуть это.add;
};
Затем создайте новую функцию
Кода -копия выглядит следующим образом:
var moqi = function (p1) {
this.add = function (p2) {
this.add1 = function (p3) {
вернуть p1 + ',' + p2 + '' + p3;
};
вернуть это.add1;
};
вернуть это.add;
};
Используя метод вызова в JavaScript, будет:
Кода -копия выглядит следующим образом:
var moqi = function (p1) {
var self = это;
функция fd (p2) {
this.add1 = function (p3) {
вернуть p1 + ',' + p2 + '' + p3;
};
}
self.add = function (p2) {
fd.call (это, P2);
вернуть это.add1;
};
вернуть Self.add;
};
Примеры расширенных функций
Приведенный выше пример просто для удовольствия, и следующий пример является реальным приложением.
Кода -копия выглядит следующим образом:
add = function (a, b) {
вернуть A + B;
};
Функция Math (func, массив) {
вернуть фанк (массив [0], массив [1]);
}
console.log (математика (добавить, [1,2]));
> Математика (добавить, [1,2])
<3
Добавление, передаваемое приведенным выше примером, является параметром, а возврат - это просто функция. Например, есть функция в jQuery
Кода -копия выглядит следующим образом:
// конвертировать пунктир в Camelcase; используется CSS и модулями данных
// Microsoft забыла устроить префикс своего поставщика (#9572)
Camelcase: function (String) {
return string.replace (rmsprefix, "ms-") .replace (rdashalpha, fcamelcase);
},
Это также относится к использованию функций высшего порядка для освоения JS. Полем