Esto es algo interesante, que también puede ilustrar el poder de los objetos JavaScript. Lo que tenemos que hacer es generar un Hello, mundo como se menciona en el artículo anterior, y la entrada es imprime ('Hola') ('Mundo'), y esta es la llamada función de orden superior.
Funciones avanzadas
El orden avanzado parece un término esotérico para técnicas de programación avanzada, y pensé que cuando lo vi por primera vez.
Funciones de orden superior de JavaScript
Sin embargo, las funciones de orden superior son solo funciones que toman funciones como argumentos o valores de retorno. Hola y el mundo son los anteriores como un simple ejemplo.
La copia del código es la siguiente:
var moqi = function (p1) {
this.add = function (p2) {
devolver p1 + '' + p2;
};
devolver agregar;
};
Podemos usar esta función como esta
La copia del código es la siguiente:
console.log (moqi ('hola') ('mundo'));
Tal vez este proceso es un poco confuso, veamos si es más detallado.
La copia del código es la siguiente:
> typeOf moqi ('hola')
<- "función"
> Moqi ('hola')
<- function (p2) {
devolver p1 + '' + p2;
}
Es decir, de hecho, moqi ('hola') es una función, moqi ('hola')
La copia del código es la siguiente:
> var m = moqi ('hola')
> m ('mundo')
> "Hola, mundo"
A juzgar por la situación anterior, las funciones de orden superior pueden hacer que el código sea más conciso y eficiente. Naturalmente, también podemos crear una función para facilitar:
La copia del código es la siguiente:
> Moqi ('Hello') ('World') ('Phodal')
> "Hola, Mundo Phodal"
Entonces existe tal función
La copia del código es la siguiente:
var moqi = function (p1) {
Función de retorno (P2) {
Función de retorno (P3) {
return p1 + ',' + p2 + '' + p3;
}
};
};
Restaurar funciones de orden superior
Las señales que necesitan introducir la abstracción de funciones de orden superior son códigos duplicados o similares. Luego, restauramos la función anterior paso a paso:
La copia del código es la siguiente:
var moqi = function (p1) {
this.add = function (p2) {
Función de retorno (P3) {
return p1 + ',' + p2 + '' + p3;
}
};
devolver esto.Add;
};
Luego crea una nueva función
La copia del código es la siguiente:
var moqi = function (p1) {
this.add = function (p2) {
this.add1 = function (p3) {
return p1 + ',' + p2 + '' + p3;
};
devolver esto.add1;
};
devolver esto.Add;
};
Usando el método de llamada en JavaScript, habrá:
La copia del código es la siguiente:
var moqi = function (p1) {
var self = this;
función fd (p2) {
this.add1 = function (p3) {
return p1 + ',' + p2 + '' + p3;
};
}
self.add = function (p2) {
fd.call (this, p2);
devolver esto.add1;
};
devolver self.add;
};
Ejemplos de funciones avanzadas
El ejemplo anterior es solo para diversión, y el siguiente ejemplo es una aplicación real.
La copia del código es la siguiente:
add = function (a, b) {
devolver a + b;
};
function math (func, array) {
return func (array [0], array [1]);
}
console.log (math (add, [1,2]));
> Math (agregar, [1,2])
<3
La adición pasada en el ejemplo anterior es un parámetro, y el retorno es solo una función. Por ejemplo, hay una función en jQuery
La copia del código es la siguiente:
// Convierta discontinuo a Camelcase; utilizado por el CSS y los módulos de datos
// Microsoft se olvidó de jubilar su prefijo de proveedores (#9572)
CamelCase: function (String) {
return string.replace (rmsprefix, "ms-") .replace (rdashalpha, fcamelcase);
},
Este es también el caso con el uso de funciones de orden superior para dominar JS. .