Foros del Web » Programando para Internet » Javascript »

¿alguien sabe donde esta el error?

Estas en el tema de ¿alguien sabe donde esta el error? en el foro de Javascript en Foros del Web. tengo el siguiente codigo en java. desde el html lo unico que tengo es un boton que llama a la funcion prueba(). En el codigo ...
  #1 (permalink)  
Antiguo 12/02/2005, 15:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 198
Antigüedad: 19 años, 2 meses
Puntos: 5
¿alguien sabe donde esta el error?

tengo el siguiente codigo en java. desde el html lo unico que tengo es un boton que llama a la funcion prueba(). En el codigo esta marcado donde me da el error. Despues de mucho mirar no soy capaz de encontrarlo ¿alguien lo ve?


Código:
<script language="javascript1.4" type="text/javascript">
  function persona(edad, nombre){
	// atributos
	this.edad = edad;
	this.nombre = nombre;
	//funciones
	this.decirNombre = nom;
	this.decirEdad = edad;
	}
	
	function nom(){ return 'jose '; }
	function edad() { return '22'; }
	
	function prueba(){
	  var pers1 = new persona('jose', '22');
		alert('nombre: '+ pers1.decirNombre());
		alert('edad:   '+ pers1.decirEdad());  //en este alert me da error
	}
</script>

gracias por adelantado

Última edición por occiso; 12/02/2005 a las 16:19
  #2 (permalink)  
Antiguo 12/02/2005, 16:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 198
Antigüedad: 19 años, 2 meses
Puntos: 5
Me respondo a mi mismo.


El problema es que habia llamado a un atributo igual que a la funcion a la que hacia referencia decirEdad. Asi ya funciona:

Código:
function persona(nombre, edad){
	// atributos	
	this.nombre = nombre;
	this.edad = edad;
	//funciones
	this.decirNombre = nom;
	this.decirEdad = decirEdad;
	}
	
	function nom(){ return this.nombre; }
	function decirEdad() { return this.edad + '2222'; }
	
	function prueba(){
	  var pers1 = new persona('jose', '22');
		alert('nombre: '+ pers1.decirNombre());
		alert('edad:   '+ pers1.decirEdad() );  
	}
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 17:49.