Foros del Web » Programando para Internet » Javascript »

Retornar la referencia de una variable

Estas en el tema de Retornar la referencia de una variable en el foro de Javascript en Foros del Web. Buenas, Tengo este código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function get ( ) {     return this . x ; }   ...
  #1 (permalink)  
Antiguo 11/01/2014, 08:31
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Retornar la referencia de una variable

Buenas,

Tengo este código:
Código Javascript:
Ver original
  1. function get() {
  2.     return this.x;
  3. }
  4.  
  5. var obj = {
  6.     x : 3
  7. }
  8.  
  9. get.call( obj )++;
El cual da un error al intentar hacer el incremento ++ . Es lógico, pues es equivalente a intentar incrementar un valor literal:
Código Javascript:
Ver original
  1. 4++
De todas maneras, me gustaría averiguar si hay alguna manera para retornar la referencia en vez del valor y de esa manera poder incrementarla. Imagino que debe ser un camino infructuoso pero no pierdo nada por preguntar.

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils
  #2 (permalink)  
Antiguo 11/01/2014, 08:45
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Retornar la referencia de una variable

Puedes incrementarla de esta forma: (aunque no funciona igual)

Código Javascript:
Ver original
  1. get.call( obj ) += 1;

De otra forma no se me ocurriría nada, mas que guardarlo en una variable y ya usar ++.
  #3 (permalink)  
Antiguo 11/01/2014, 08:53
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Respuesta: Retornar la referencia de una variable

Cita:
Iniciado por PHPeros Ver Mensaje
De otra forma no se me ocurriría nada, mas que guardarlo en una variable y ya usar ++.
Pero al guardarlo en otra variable incrementarás la variable. Nunca el miembro x de obj.
__________________
github.com/xgbuils | npm/xgbuils
  #4 (permalink)  
Antiguo 11/01/2014, 08:59
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Retornar la referencia de una variable

Otra forma es retornar sólo "this" (o sea el valor del scope), y después acceder a esa propiedad.
  #5 (permalink)  
Antiguo 11/01/2014, 09:55
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Respuesta: Retornar la referencia de una variable

De acuerdo, pero en este mensaje no expuse un código para conseguir resolver la tarea de una manera u otra. El código es un mero ejemplo que sirve de guía para luego exponer mi duda que es:
¿Una función puede retornar la referencia de una variable en vez del valor? O de otra manera: ¿ Es posible retornar un l-value en vez de un r-value?
__________________
github.com/xgbuils | npm/xgbuils
  #6 (permalink)  
Antiguo 11/01/2014, 10:19
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Retornar la referencia de una variable

Con objetos y funciones sí, no con propiedades. Lee esto.

PD: Con variables va a ser imposible, a diferencia de C no es configurable.

Última edición por PHPeros; 11/01/2014 a las 10:25

Etiquetas: referencia, retornar, valor, variable
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




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