Crear métodos dinámicamente en Javascript

27/Sep/2010 JavaScript , 4 Comentarios

Si ayer veíamos que podíamos crear propiedades dinámicas en Javascript hoy veremos como crear métodos dinámicamente en Javascript.

Y es que el procedimiento es el mismo para este caso y volveremos a apoyarnos en la sentencia prototype para poder crear métodos dinámicamente.

Lo primero definir una clase... volvemos a utilizar nuestra clase rectángulo...

  1. function rectangulo(base,altura){
  2. this.base = base;
  3. this.altura = altura;
  4. }

E instanciamos dos elementos de la clase rectángulo:

  1.  
  2. r1 = new rectangulo(2,4);
  3. r2 = new rectangulo(4,8);
  4.  

En este momento solo podemos acceder a las propiedades base y altura. Así que pasamos a crear un método calcularArea dinámicamente.

  1.  
  2. rectangulo.prototype.calcularArea = function() { return this.base*this.altura; };
  3.  

Vemos que hemos utilizado la sentencia prototype, con lo cual conseguimos que se defina dinámicamente el método para todas las instancias de rectángulo. Si no utilizasemos prototype se definiría el método dinámicamente solo para la instancia a la que se lo aplicásemos.

Ahora ya podemos ejecutar el método sobre las dos instancias del objeto:

  1. document.write("Un rectangulo de " + r1.base + "x" + r1.altura + " tiene un área de " + r1.calcularArea() + "<br />");
  2. document.write("Un rectangulo de " + r2.base + "x" + r2.altura + " tiene un área de " + r2.calcularArea());

Vídeos sobre Javascript


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*