¿Es la función onClick en JavaScript una función de orden superior?

Dichas funciones se denominan activador u oyente Funciona en JavaScript. Estas funciones específicas están diseñadas para activar métodos de entrada como clic, doble clic, mouse-over, menú contextual, tecla abajo, tecla arriba, etc.

Ejemplo, OnClick, o simplemente onclick (estas funciones son específicamente no sensibles a mayúsculas y minúsculas) se utiliza para asignar una función definida por el usuario o simplemente un código JavaScript encapsulado entre comillas dobles:

función doSomething () {
/* hacer algo */
}

JavaScript es de un solo subproceso significa una función a la vez. También los compiladores de JavaScript son JIT (Just-in-time) para que pueda compilarse sobre la marcha. Como JS se utiliza para el desarrollo web, JIT tiene que desempeñar un papel importante en el lenguaje de subproceso único . Las funciones de orden superior son funciones tan básicas como el ciudadano de primera clase en JS que pueden tomar:

  • Funciona como argumento
  • La función devuelve la función
  • Devolviendo funciones como resultado

Para más estudio, le sugiero que consulte la documentación de JavaScript de MDN.

Aqui eso

hacer algo();

Se llama un controlador de eventos. Para dar una explicación simple, los controladores de eventos no son más que funciones que se llaman (o mejor dicho, activadas ) cuando se produce algún evento. En su ejemplo, ese DoSomething () se activará cuando haga clic en el contenedor. Puedes leer más aquí [1].

Notas al pie

[1] http://www.javascriptkit.com/jav

Respuesta corta:

No onClick no es una función de orden superior

Respuesta larga:

No onClick no es una función de orden superior, onClick es un atributo de un elemento, en este caso el botón

Puede verlo como un atributo de la función de tipo, desde el botón de objeto, JavaScript es un lenguaje tipeado débilmente, lo que significa que las variables y los atributos pueden ser de cualquier tipo y pueden cambiar de un tipo a otro sin esfuerzo, con solo asignar un nuevo valor, por lo general, el atributo onClick, onChange, onMouseOut, etc., son de tipo función, también se denominan eventos, porque cuando el DOM (la página) detecta y evento, en este ejemplo un clic, se ve el atributo del botón y si tiene una función asignada al atributo onClick para manejarlo, el DOM lo llama, lo mismo para los otros eventos y todos los demás elementos de la página.

En JavaScript, la función de orden superior más común que encontrará son las que aceptan devoluciones de llamada, por ejemplo

setTimeout (doSomething, 1000)

Aquí tenemos 2 funciones setTimeout, que es en realidad una función de orden superior, y doSomething, aquí doSomething es una función de orden inferior, y setTimeout es en realidad una función de orden superior. Para ser una función de orden superior, debe recibir o devolver una función como parámetro, y un orden inferior es el que se pasa o devuelve.

Para concluir, onClick es un atributo de botón, no una función de orden superior, no recibe doSomething ya que un parámetro es más como una asignación, onClick apuntará a doSomething.

No, no es una función de orden superior.

onclick es un método. Sin embargo, es diferente a los métodos comunes, ya que el navegador lo llama cuando hace clic en el elemento en una página web con el mouse (toca un elemento en una pantalla táctil).

Considera esto:

let temp = document.getElementById (“marco”);
temp.onclick = mensaje de función () {
alerta (“hola”);
}
temp.onclick ();

Las líneas 2 a 3 configuran el método onclick , que es un código envuelto en una función y adjuntado al elemento en caché. En este caso, el código solo emite un mensaje cuando se hace clic en el elemento.

Sin embargo, en la línea 5, puede ver que también podemos llamar al método, como cualquier otro método Esto también hará que el código se ejecute.

La sintaxis es HTML, no JavaScript. onClick es solo un atributo HTML, como class o id o href .

Sin embargo, cuando es analizado por un navegador web, establecerá la propiedad onclick de ese elemento HTML para function(){doSomething()} . Esto significa que cada vez que se hace clic en el elemento, se ejecutará una función anónima de JavaScript, que llamará a doSomething .

En JavaScript puro, puede lograr exactamente lo mismo con este código:

var element = document.getElementById(“elementId”);
element.onclick = function(){
doSomething();
}

El uso de atributos de elementos HTML para registrar controladores de eventos puede ser muy limitante, ya que solo puede tener una función escuchando un evento a la vez, por lo que probablemente sea mejor no hacerlo. En cambio, puede agregar oyentes de eventos de esta manera:

var element = document.getElementById(“elementId”);
element.addEventListener(“click”, function(){
doSomething();
});