Introducción a AJAX

Capítulo 14. Ejercicios resueltos

14.1. Ejercicio 1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejercicio 1 - Objetos</title>
<script type="text/javascript">
// Estructura básica del objeto Factura
var factura = {
  empresa: {
    nombre:    "Nombre de la empresa",
    direccion: "Dirección de la empresa",
    telefono:  "900900900",
    nif:       ""
  },
  cliente: {
    nombre:    "Nombre del cliente",
    direccion: "Dirección del cliente",
    telefono:  "600600600",
    nif:       "XXXXXXXXX"
  },
  elementos: [
    { descripcion: "Producto 1", cantidad: 0, precio: 0 },
    { descripcion: "Producto 2", cantidad: 0, precio: 0 },
    { descripcion: "Producto 3", cantidad: 0, precio: 0 }
  ],
  informacion: {
    baseImponible:  0,
    iva:            16,
    total:          0,
    formaPago:      "contado"
  }
};

// Métodos de cálculo del total y de visualización del total
factura.calculaTotal = function() {
  for(var i=0; i<this.elementos.length; i++) {
    this.informacion.baseImponible += this.elementos[i].cantidad * this.elementos[i].precio;
  }
  var importeIva = (1 + (this.informacion.iva/100));
  this.informacion.total = (this.informacion.baseImponible * importeIva).toFixed(2);
}

factura.muestraTotal = function() {
  this.calculaTotal();
  alert("TOTAL = " + this.informacion.total + " euros");
}

factura.muestraTotal();
</script>
</head>

<body>
</body>
</html>

Descargar ZIP con la solución completa