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>