Foros del Web » Programando para Internet » Javascript » Frameworks JS »

funciones que retornan funcion

Estas en el tema de funciones que retornan funcion en el foro de Frameworks JS en Foros del Web. hola amigos, hace dias voy revisando el codigo del framework prototype y encuentro funciones que retornan funcion. alguien puede explicarme para que sirve esto? Código ...
  #1 (permalink)  
Antiguo 16/07/2009, 08:23
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Pregunta funciones que retornan funcion

hola amigos, hace dias voy revisando el codigo del framework prototype y encuentro funciones que retornan funcion.
alguien puede explicarme para que sirve esto?
Código PHP:
function something() { return function() { return } } 
  #2 (permalink)  
Antiguo 16/07/2009, 09:34
 
Fecha de Ingreso: junio-2009
Ubicación: Lima
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: funciones que retornan funcion

something = cualquier cosa (traduccion) eso quiere decir que te retorna la misma funcion... o nuse.. xD
  #3 (permalink)  
Antiguo 16/07/2009, 09:36
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: funciones que retornan funcion

en realidad no retorn otra función sino el resultado de la otra función
__________________
tutoriales xajax, jQuery, PHP y otros en mi blog
  #4 (permalink)  
Antiguo 16/07/2009, 09:38
 
Fecha de Ingreso: junio-2009
Ubicación: Lima
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: funciones que retornan funcion

podrias poner un ejemplo?
  #5 (permalink)  
Antiguo 16/07/2009, 09:40
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Pregunta Respuesta: funciones que retornan funcion

ejemplo:
Código HTML:
<script type="text/javascript">
function something() { return function() { return 4 * 5 } }
</script> 
....

Código HTML:
<a href="javascript:;" onclick="return alert(something())">asas</a> 
entoncs me podrian decir porq me retorna " function() { return 4 * 5 } ", el ejemplo anterior
  #6 (permalink)  
Antiguo 16/07/2009, 09:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: funciones que retornan funcion

Pues, sirve para devolver una función.

Mira esto:
Código Javascript:
Ver original
  1. alert(something()());
O más fácil de entender:
Código Javascript:
Ver original
  1. var funcion = something();
  2. alert(funcion());
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 16/07/2009, 09:50
 
Fecha de Ingreso: junio-2009
Ubicación: Lima
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: funciones que retornan funcion

interesante...no sabia eso...y en que ocaciones se puede usar esa funcion?
  #8 (permalink)  
Antiguo 16/07/2009, 09:51
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
Pregunta Respuesta: funciones que retornan funcion

Gracias David ya entendi, pero aun me queda la duda para que me puede servir esto ?
  #9 (permalink)  
Antiguo 16/07/2009, 10:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: funciones que retornan funcion

Un uso práctico, por ejemplo, es para crear una closure:
Código Javascript:
Ver original
  1. function sumar(n) {
  2.     var contador = n;
  3.     return function() {
  4.         alert(contador++);
  5.     }
  6. }
  7.  
  8. var cuenta = sumar(5);
  9. cuenta(); /* 5 */
  10. cuenta(); /* 6 */
  11. cuenta(); /* 7 */
  12. /* ... */
Una función es un tipo básico, así que se puede manejar como cualquier otro tipo (texto, número, etc.)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 16/07/2009, 10:03
 
Fecha de Ingreso: junio-2009
Ubicación: Lima
Mensajes: 84
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: funciones que retornan funcion

muy interesante...
  #11 (permalink)  
Antiguo 16/07/2009, 10:10
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 8 meses
Puntos: 12
De acuerdo Respuesta: funciones que retornan funcion

Ok, listo ya entendi
  #12 (permalink)  
Antiguo 30/07/2009, 14:35
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: funciones que retornan funcion

Hola que tal! y que hay de esta estructura:

Código:
var aFunction = function(){
    return {
        var1 : function(){
    		code...
        },
   
        var2 : function(){
			code...
        },
		
        var3 : function(){
            code...
        }
    };
}();
Que comportamiento tendría en éste caso la función? Gracias!
  #13 (permalink)  
Antiguo 31/07/2009, 20:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: funciones que retornan funcion

Sólo devuelve un objeto con ciertas funciones.

Si la llamaras de la siguiente manera:
Código javascript:
Ver original
  1. var objeto = aFuncion();
Podrías llamar a las demás funciones también:
Código javascript:
Ver original
  1. objeto.var1();
  2. objeto.var2();
  3. objeto.var3();
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:29.