Extendiendo las propiedades de los objetos en Javascript

Como muchos sabemos Javascript (que no es lo mismo que Java) es un lenguaje que está muy presente por la aparición de Ajax(Asynchronous Javascript & XML).
Para los proramadores web es un lenguaje muy sencillo. Realmente la complejidad aparece en los exploradores pues cada uno implementa Javascript de una forma diferente. Aquí es donde me ha dado serios problemas.
Mi idea es poder extender las funcionalidades de ciertos objetos al agregar métodos y propiedades. Navegando por internet encuentro que es posible cualquiera de las siguientes maneras.
Para una propiedad o método:
Object.prototype.propiedad1 = 10;
Object.propiedad1 = 10;
Object[“propiedad1″] = 10;
Sucede que pruebo esto en FF y funciona increiblemente bien. La gran desilusión viene cuando se intenta implementar en IE.
Sucede que en FF todos los elementos son heredados de la clase Object y al agregar un método/propiedad a esa clase pues los elementos la heredan automáticamente. Pero esto no ocurre en IE, esto aún cuando al debuguear se encuentra que, por decir un ejemplo, el elemento input type=”text” hereda de object.
¿Cómo ver esto?

<script language=”javascript” type=”text/javascript”>
<!–
alert(typeof(document.getElementById(‘[id del objeto]’));
–>
</script>

En ambos casos nos dice ‘object’.
¿Cómo implementar entonces métodos/propiedades a todos los objetos HTML en IE?
En cuanto encuentre la maldita forma publico mi respuesta.
Ahora bien agradecería si alguien tiene algo que comentar.

Tags: , ,

Comments are closed.