Existe esa posibilidad en JS ?
Muchas gracias
| |||
Me he estado informando y al parecer no existe tal funcionalidad en JS Una solución seria, pasar los argumentos a través de un array, y dentro de la misma función a través de un switch/if o cualquier sentencia condicional realizar X o Y según si tenemos más o menos argumentos... Un saludete ( Gracias por la bievenida al foro) |
| ||||
Hola programeitor Algunos lenguajes de programación permiten la sobrecarga de funciones, es decir, varias funciones con el mismo nombre. Se distinguen entre sí por el número de argumentos que se le pasan o por el tipo de dato de cada argumento. Te pongo un ejemplo en Delphi:
Código:
Cuando la llames, dependiendo de los argumentos se ejecutará una u otra.function IIf(Pregu: Boolean; Cad1,Cad2: String): String; overload; function IIf(Pregu: Boolean; Num1,Num2: Integer): Integer; overload; Saludos, |
| ||||
Ahh ya, creo comprender. Entonces se trata de funciones con el mismo nombre pero distintos argumentos... en javascript seria una funcion con un control de entrada que indique que es lo que va a hacer. No hace mucho he estado probando a declarar "variables de funcion" dentro o fuera de ellas, que basicamente consiste en tratar la funcion como un objeto, esto es: nombrefuncion.valor=x Esto puede servir para suplantar a variables globales que han de estar en varias funciones haciendolas formar parte de la funcion que mas la represente. Tambien sirve para crear controles de funcion que han sido declarados fuera de ellas ,pues hay veces en que es nesesario crear un control de entrada, que normalmente se recurre a una variable global: fun.control=true function fun(){ if fun.control(){} } Algo para mi sin explicacion, es que estas variables de funcion no son las m¡smas que las declaradas dentro de la funcion: fun.x="hola"; functionfun() { varx="adios"; window.status=fun.x+" "+x; } Bueno ,javierB. Gracias por contestar, .no se si esto sirve en algo al tema que estamos tratando, pero creo que da una idea. salud.os |
| ||||
Hola: Sobre el número de argumentos podría simplemente usar un switch: function x() { switch (arguments.length) { case 0: alert(arguments.length); break; case 1: alert(arguments.length); break; default: alert('sin definir'); break; } } ... <body onload="x(); x(1); x(1,2,3)"> Pero me temo que el ejemplo de JavierB (¡Hola !) es más descriptivo... Lo que sí es que se pueden usar métodos propios de objetos y/o redefinirlos String.prototype.sort = function() { t = this.split(""); t.sort(); return t.join(""); } saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |