Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2015, 18:18
Avatar de bernyx123
bernyx123
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Funcion con array. Error de principiante. "undefined"

Hola! Estoy empezando funciones en el curso de DAW y llevo varios dias comiendome la cabeza para solucionar el primer ejercicio de la practica y he llegado a un punto en que me da hasta verguenza.
Intento conseguir el string de un array y me devuelve "undefined" y en el firebug aparece el error "typeerror this.ingredientesvacios(Numeroingr); is not a function"

He leido por internet que la culpa es utilizar un mismo nombre de variable, pero he intentado cambiar de todo y sigue sin funcionar... agradezco cualquier ayuda... gracias y saludos.


Este es el anunciado para aclarar las cosas:

crea un objeto “Pizza” que almacene: el nombre de la pizza , el precio de la pizza, una array vacía de ingredientes, una función que nos permita añadir un ingrediente y una función que nos permita obtener el nombre de un ingrediente según su posición.

Una vez realizada la classe “Pizza”, deberá ser capaz de ejecutar el siguiente código:

var pizza = new Pizza();
pizza.nombre="Mamma mia!";
pizza.precio="7€";
document.write('<br />Nompre Pizza: ');
document.write(pizza.nombre);
document.write('<br />Precio: ');
document.write(pizza.precio);
var numIngrediente = pizza.addIngrediente("parmesano");
var ingrediente = pizza.getIngrediente(numIngrediente-1);
document.write('<br />Ingrediente: ');
document.write(ingrediente);


////////////////////////////////////////////////


Entonces yo he hecho esto:

Dentro de un JS:

function Pizza(){
this.nombre="peperoni";
this.precio=9;
this.ingredientesvacios = []; //new Array();

this.addIngrediente=function(Ingr) {
var numIngrediente=this.ingredientesvacios.push(Ingr);
return numIngrediente;
}
this.getIngrediente=function(Numeroingr){
return this.ingredientesvacios(Numeroingr);
}
}

var pz = new Pizza();
var numIngrediente = pz.addIngrediente("parmesano");
var ingrediente = pz.getIngrediente(numIngrediente-1);


Dentro de un html vinculado al js:

<body><script>
document.write('<br />Nombre Pizza: ');
document.write(pz.nombre);
document.write('<br />Precio: ');
document.write(pz.precio);
document.write('<br />Ingrediente: ');
document.write(ingrediente);
</script>
</body>