Creando objetos

Vamos a crear un objeto usado para representar un artículo de una tienda. El artículo se va a caracterizar por una descripción, un código y un precio, y debe permitir el cálculo de su correspondiente IVA.

Solución

<script>

function iva()

{

return Math.round(this.valor*0.21);

}

function total(reb)

{

   var precio = this.iva()+ this.valor;

   precio = precio - precio*reb/100;

   return Math.round(precio);

}

function obj_articulo(desc, cod, precio)

{

this.desc = desc;

this.codigo = cod;

this.valor = precio;

this.iva = iva;

this.pvp = total;

}

var item = new obj_articulo("Monitor 32 ", "MonHq-01", 300);

document.write('Artículo: ' + item.desc + " ("+item.codigo+")"+ "<br>");

document.write("Precio: " +item.valor + " €<br>");

document.write("IVA: " + item.iva() + "€<br>");

document.write("Precio venta: "+ item.pvp(10)+ " € (Dto 10%)<br>");

</script>

Explicación

Este ejemplo ilustra como crear un Objeto con sus propiedades y métodos.

La función obj_articulo es el constructor del objeto mientras que las funciones iva() y total(reb) son métodos para ese objeto. El parámetro de la segunda indica un posible descuento.

Estas funciones son simples operaciones aritméticas y no requieren mas explicación.

En cuanto al constructor las propiedades (desc, codigo, valor) se asignan directamente usando this para referirnos al propio objeto.

Para los métodos se hace exactametne igual pero asignándole funciones (iva, total).

Tenemos un método que usa argumentos y otro sin ellos, es decir este ejemplo presenta una forma de crear objetos y podría ser la base para crear una lista de la compra una de cuyas propiedades serían un objeto del tipo aquí definido.