Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/02/2013, 18:10
Avatar de chwc
chwc
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 16 años, 7 meses
Puntos: 103
Respuesta: Problema con clases en javascript

Cita:
Iniciado por Reedyseth Ver Mensaje
Nada mas para aclarar, cuando esta en el for usando CrearPosicion(), es lo mismo que usar la funcion como mencionaste chwc, por que al final CrearPosicion es una referencia de DefinirPosicion(), su error esta que intenta llamar la funcion como si estuviera llamando una propiedad, y es que le falta los parentesis, algo asi:



Saludos.
Hola !

he leido lo que comentas, y hay que ver bien a fondo, un problema radica en esta parte

Código Javascript:
Ver original
  1. this.CrearPosicion = DefinirPosicion   
  2.    
  3.     function DefinirPosicion  () {
  4.        
  5.         this.posicion = "NuevaPosicion";
  6.        
  7.     }

primero que nada, CrearPosicion esta obteniendo como valor undefined, ya que en ese momento DefinirPosicion no existe, pero DefinirPosicion es generado en la proxima linea

ya que

Código Javascript:
Ver original
  1. this.CrearPosicion = function() {      
  2.         this.posicion = "NuevaPosicion";       
  3.     }

bastaria,

asi que seria mejor que la funcion sea asi ( le agrego DefinirPosicion por las dudas )
Código Javascript:
Ver original
  1. function DefinirTropas (uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve) {
  2.    
  3.     //definimos todos los valores de las tropas
  4.     this.nombre = uno;
  5.     this.imagen = dos;
  6.     this.ataque = tres;
  7.     this.defensa = cuatro;
  8.     this.movilidad = cinco;
  9.     this.distancia = seis;
  10.     this.salud = siete;
  11.     this.bando = ocho;
  12.     this.posicion = nueve;
  13.    
  14.     //definimos la posicion en el mapa
  15.        
  16.    
  17.     this.CrearPosicion = function() {      
  18.         this.posicion = "NuevaPosicion";       
  19.     }
  20. this.DefinirPosicion = this.CrearPosicion
  21. }

igual me parece que lo que quiso hacer, era tener DefinirPosicion como una funcion Global, pero lo puso adentro de esa funcion

un saludo !!