Para pura conveniencia, sí - ejemplo de ello está en la biblioteca jQuery en la que si se invoca un método de controlador de eventos como bind
o click
internamente se los asigna a dos métodos distintos, en este caso bind
o trigger
dependiendo si se pasó una función (que se evalúa como verdadera y llama a bind
o si no se pasó ningún argumento, undefined es falso y desencadena los manejadores de eventos).
jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick," +
"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," +
"change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){
// Handle event binding
jQuery.fn[name] = function(fn){
return fn ? this.bind(name, fn) : this.trigger(name);
};
});
espera a downvotes
eww todos en este hilo deben volver al lenguaje estático del que proceden:) siento que esta pregunta se plantea de forma que se obtenga una respuesta negativa. hay muchas circunstancias en las que la lógica de función dependiendo de una sobrecarga es perfectamente aceptable, como pasar una función de devolución de llamada. – Shawn
pasando una devolución de llamada tal vez se utiliza para tener un canal de entrega de información, o registrar un controlador asincrónico. No veo ninguna razón por la que no pasar una devolución de llamada produce un comportamiento (es decir, desencadenar un evento) y al pasar produce uno completamente diferente (es decir, registrar un controlador para el evento) –
Argumento Ad Populum es una falacia lógica. – Breton