• Domingo 17 de Noviembre de 2024, 19:34

Autor Tema:  class en javascriptII  (Leído 2035 veces)

nicolas_alvarezmon

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
class en javascriptII
« en: Jueves 28 de Julio de 2011, 07:30 »
0
Q tal Experto tengo la siguiente class lo que quisiera es mostrar en pantalla con la
clase imprime() seria los datos "hp" y "semitorre", la ejecuto la pagina y me da el alert
y me dice en el primer cartel (alert) undefined y en el segundo carte (alert) "semitorre". Lo q tendria
q hacer seria mostrar en el 1mer alert "hp" y en el 2do alert "semitorre".
A qui esta el codigo. Mas abajo probe de otra manera haciendo una clase "caja" q involucre
a las 3 fx imprime, interior , exterior, y no fx tampoco. Da el mismo error q el codigo1.
Quiza falte algo no se me ocurre que.

Codiogo1

<script>
function imprime()
{
alert (this.marca);
alert(this.caja);
}

function interior(marca)
{
this.marca=marca;
this.imprime=imprime;
}
function exterior(caja)
{
this.caja=caja;
this.imprime=imprime;
}
mipc=new interior("hp")
mipc=new exterior("semitorre")
mipc.imprime();
</script>

+++++++++++++++++
codigo 2

<script>
function caja(imprime,interior,exterior)
{
this.imprime=imprime;
this.interior=interior;
this.exterior=exterior;
}

function imprime()
{
alert (this.marca);
alert(this.caja);
}

function interior(marca)
{
this.marca=marca;
this.imprime=imprime;
}

function exterior(caja)
{
this.caja=caja;
this.imprime=imprime;
}

mipc=new caja()
mipc=new interior("hp")
mipc=new exterior("semitorre")
mipc.imprime();

</script>
Saludos cordiales.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re:class en javascriptII
« Respuesta #1 en: Martes 2 de Agosto de 2011, 17:03 »
0
Hola, bienvenido al foro.
 Bueno cada ves que usas la palabra new lo que haces es crear una nueva instancia( o una nueva copia ).
 Por lo que al hacer :
 
Código: Javascript
  1.  mipc= new interior("hp")

 utiliza le método interior
 
Código: Javascript
  1.  function interior(marca) {
  2.         this.marca = marca;
  3.         this.imprime = imprime;
  4. }
y si observamos solo existe marca y no caja por lo que se puede deducir que en la instancia 1 no existe caja y nos va a enviar "undefined".
y al hacer dos instancias con el mismo nombre el metodo no imprime todo ya que está mostrando el último valor cargado.

Saludos,
« última modificación: Martes 2 de Agosto de 2011, 17:24 por juez »
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com